Please enable JavaScript.
Coggle requires JavaScript to display documents.
MÉTODOS ABSTRACTOS CLASES ABSTRACTAS E INTERFACES - Coggle Diagram
MÉTODOS ABSTRACTOS
CLASES ABSTRACTAS E INTERFACES
Una clase se define como un tipo abstracto de dato que contiene atributos y métodos.
Los atributos se refieren a las características de el
Concepto
Encapsulamiento: Es un característica de los atributos que define propiedades propias, debe tener visibilidad private.
La clase es un
concepto
abstraído de la Realidad
Los métodos son los servicios de dicho
Concepto
, Se componen de visibilidad, retorno.
Tiene niveles de visibilidad:
*
Private: se accede desde la misma clase
*
Public: se accede desde cualqueir clase
*
Protected:se accede desde una clase que herede la clase que contenga esta visibilidad
CLASES ABSTRACTAS
Se refiere a una clase a la cual no se le pueden crear objetos y solo contiene subclases
Para declarar una clase abstracta se antepone el termino abstract y su representación grafica UML
También podemos hablar de métodos abstractos
Son aquellos que tienen claramente definida su interfaz en nombre, tipo y número de parámetros y el valor de retorno pero carece de implementación
INTERFACES
Aquellas que hacen referencia a conceptualizaciones que permiten ser una guía para definir un concepto determinado (clase) y lo que debe hacer, pero sin desarrollar un mecanismo de solución
La sentencia Interface es la encargada de declarar una interfaz al igual que la sentencia class
La palabra reservada implements es el mecanismo que permite dar cuerpo a los métodos de
una
interfaz
, es decir, que asume las constantes de la interfaz y codifica sus métodos.
El objetivo de los métodos en una interfaz, es definir el tipo de conducta para las clases que implementan dicha interfaz
Diferencia entre interfaz y clases abstracta
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.
En java concretamente (ya que has puesto la etiqueta Java), en las clases abstractas la palabra abstract es obligatoria para definir un método abstracto (así como la clase). Cuando defines una interfaz, esta palabra es opcional ya que se infiere en el concepto de interfaz.
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).
Polimorfismo es la capacidad que tienen los objetos de una clase en ofrecer respuesta distinta e independiente en función de los parámetros (diferentes implementaciones) utilizados durante su invocación.