"¡Hola, Amigo! Bilaabo te dirá las diferencias entre una clase abstracta y una interfaz. Hay varias".
| Clase abstracta | Interfaz |
|---|---|
| Herencia | |
| Una clase abstracta puede heredar solo una clase pero puede heredar cualquier número de interfaces . | Una interfaz no puede heredar clases , pero puede heredar cualquier número de interfaces . |
| Métodos abstractos | |
| Una clase abstracta puede contener métodos abstractos . Pero puede que no tenga ninguno en absoluto. | Todos los métodos no estáticos y no predeterminados de una interfaz son abstractos , es decir, no tienen implementación. Una interfaz no puede tener ningún método . |
| Métodos con una implementación | |
| Una clase abstracta puede contener métodos con una implementación . | Una interfaz puede tener métodos predeterminados . |
| Datos | |
| Sin restricciones. | Una interfaz contiene solo datos estáticos finales públicos. |
| Creación de objetos | |
| No puede crear una instancia de una clase abstracta. | No puede crear una instancia de una interfaz. |
"Eso es lo que entiendo. Breve y al grano".
"Gracias, amigo".
GO TO FULL VERSION