Hola Te saludo nuevamente Ubal la costa espero que estés listo para comenzar con esta elección.
A continuación vamos a estudiar el tema de manejo de interfaces en Java estás listo.
Vamos interfases en la vida real en esta elección vamos a estudiar el tema de interfaces una interface
es una forma en común de comunicarse entre diferentes dispositivos o sistemas es un contrato entre un
proveedor y un cliente de un servicio.
El concepto de interfaz en Java sustituye de alguna manera la necesidad del uso de herencia múltiple
ya que en Java podemos implementar varias interfaces pero sólo podemos heredar de una sola clase una
interfaz en Java.
Se utiliza para definir comportamiento y posteriormente la clase debe implementar el comportamiento
definido por la interface.
Por ello es común que el verbo en inglés boll se utilice en algunas interfaces de la API de Java por
ejemplo será el Lyceum lo Neighbors etc. ya que este verbo en inglés indica capacidad de hacer algo
uso de interfaces en Java en Java una interface es una declaración formal de un contrato en la cual
los métodos no contienen ninguna implementación muy similar a los métodos abstractos que comentamos
anteriormente.
Podemos observar la sintaxis para definir una interfase y también podemos observar el uso de una interface.
Los atributos declarados en una interfase son por default públicos estáticos y finales es decir que
son constantes que podremos acceder simplemente poniendo el nombre de la interfase y posteriormente
el nombre de la constante.
Por ello si definimos atributos en una interfase los escribiremos con letra mayúscula y si contiene
varias palabras Lace pararemos por un guion bajo los métodos declarados en una interfase por default
son públicos abstractos y no contienen ninguna implementación por ello terminan con punto y coma.
Esto es similar a los métodos abstractos de una clase abstracta similar a la herencia de clases una
interfaz se puede heredar de otra interfase pero no de una clase concreta entonces una interfase que
hereda de otra interfase agregará a su definición de métodos.
Tanto los métodos de la interfase padre como los métodos de la interfase que está definiendo una interfase
sigue las mismas nomenclaturas de nombres que una clase así que encontraremos varias similitudes entre
la definición de una clase y una interfase muchas clases pueden implementar la misma interface.
Una clase puede implementar muchas interfaces aunque no tengan ninguna relación entre dichas interfaces
como en una clase abstracta no podremos crear objetos de una interface pero sí podemos crear variables
de tipo interface que apunten a objetos que implementaron dicha Interface.
De esta manera también aplicará el concepto de polimorfismo.
Según hemos estudiado anteriormente
clases abstractas contra interfaces vamos a comentar algunas de las diferencias entre las clases abstractas
y las interfaces así como cuándo es conveniente utilizar un concepto u otro
una clase abstracta se utiliza para encapsular funcionalidad común entre las clases es decir características
en común para hacer uso de la clase abstracta.
Debemos extender dicha clase abstracta en cambio una interface define comportamiento relacionado que
puede pertenecer a cualquier clase o estructura para hacer uso de una interfase.
Debemos implementar la interface por lo que la recomendación es que las clases abstractas deben utilizarse
principalmente para objetos estrechamente relacionados mientras que las interfaces son más adecuadas
para proporcionar funcionalidad común a clases no relacionadas entre sí.
Vamos a crear a continuación un ejemplo del uso de interfaces para dejar este concepto más claro.