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