A continuación, un cuadro comparativo entre una clase ordinaria, una clase abstracta y una interfaz, tanto para Java como para el lenguaje de programación C#.
| Tipo | Clase | Clase Abstracta | Interfaz |
| Puede ser instanciado | Si | No | No |
| Métodos | Implementados | Algunos abstractos | Todos abstractos |
| Atributos | * | Cualquiera | Solo final |
| Herencia Múltiple | * | No | Si |
| Funcionalidad Agregada | * | Podemos agregar una implementación por defecto y todas las clases hijas seguirán funcionando. | Se deben definir implementaciones a todos los métodos agregados de las clases hijas |
| Firma en Java | * | ClaseP extends ClaseH | ClaseP implements ClaseH1, ClaseH2 |
| Firma en C# | * | ClaseP : ClaseH | ClaseP : ClaseH1, ClaseH2 |

No hay comentarios:
Publicar un comentario