Está en la página 1de 3

UNIVERSIDAD NACIONAL AUTONOMA DE HONDURAS

PROGRAMCION ORIENTADA A OBJETOS

INTERFAZ VS CLASE ABSTRACTA

INTERFAZ VS CLASE ABSTRACTA


¿Qué son los Interfaces?
Los Interfaces son unas clases completamente abstractas que contiene sólo una
colección de métodos abstractos y propiedades constantes. Al igual que en las
clases abstractas en un Interface se especifica qué se debe hacer pero no su
implementación. Serán las clases que implementen estas interfaces las que
describen las acciones que puede llevar a cabo un determinado objeto.
¿Qué es la clase abstracta?
Las clases abstractas se suelen utilizar como base para crear una jerarquía en la
que todas las clases comparten una parte de la interfaz. Dentro de una clase
abstracta se pueden definir métodos abstractos.
Diferencias entre una clase abstracta y una interfaz:
• Una clase abstracta puede heredar o extender cualquier clase
(independientemente de que esta sea abstracta o no), mientras que una
interfaz solamente puede extender o implementar otras interfaces.
• Una clase abstracta puede heredar de una sola clase (abstracta o no)
mientras que una interfaz puede extender varias interfaces de una misma
vez.
• Una clase abstracta puede tener métodos que sean abstractos o que no lo
sean, mientras que las interfaces sólo y exclusivamente pueden definir
métodos abstractos.
• En una clase abstracta, los métodos abstractos pueden ser public o
protected. En una interfaz solamente puede haber métodos públicos.
• En una clase abstracta pueden existir variables static, final o static final con
cualquier modificador de acceso (public, private, protected o default). En
una interfaz sólo puedes tener constantes (public static final).

VENTAJAS
INTERFACES CLASE ABSTRACTA
 La palabra clave de interface se  La palabra clave abstract se usa
usa para crear una interfaz, pero para crear una clase abstracta y
no se puede usar con métodos se puede usar con métodos.
 Una clase puede implementar  Una clase puede extender solo
más de una interfaz. una clase abstracta.
 Las variables son finales por  Las variables no son definitivas
por defecto. Puede contener
defecto en una interfaz
variables no finales.
 Una interfaz no puede  Una clase abstracta puede
proporcionar la implementación proporcionar la implementación
de una clase abstracta. de una interfaz.
 Proporciona una abstracción  Puede tener métodos con
absoluta y no puede tener implementaciones.
implementaciones de métodos.  Puede tener modificadores de
 Los métodos son implícitamente acceso públicos, privados,
públicos y abstractos en la estáticos y protegidos.
interfaz de Java.

También podría gustarte