Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

¿Es posible que una clase hija herede de dos clases "padres"?

Un cordial saludo, tengo entendido que en Java no se permite que una clase hija herede los atributos de dos clases padres, aunque investigando los diferentes tipos de herencia se habla sobre lo que es la “herencia múltiple” que lleva como concepto principal que una clase hijo puede descender de dos clases padre, Java no permite esto de forma tradicional haciendo por referencia a tradicional el método de herencia que conocemos por clases, pero si es permitido si son “interfaces” y aunque no tengo mucho conocimiento sobre estas últimas y todo lo que conllevan, seria de mi agrado el saber si este realmente es un método valido de herencia ya que este rompe mas o menos con la forma clásica de usas clases. :D

Aquí hay un video que mas o menos explica el tema: https://youtu.be/dJyuLDJ4grE

1 respuesta

Hola Estudiante, espero que estés bien.

Felicitaciones por tu aprendizaje, es bueno ver los diferentes puntos de vistas, eso enriquece nuestros conocimientos. Continúa con ese empeño.

El proprio concepto de la herencia en java implica que una superclase (clase madre o clase base) hereda sus funciones y atributos a una subclase (clase hija o clase derivada) y cada vez que encontremos la relación "es-un" entre dos clases, estamos ante la presencia de herencia.

  • En la herencia un objeto puede extender las características de otro objeto y de ningún otro, es decir, que solo puede heredar o tomar atributos de un solo padre o de una sola clase.
    1. Java no admite "herencia múltiple" (una clase solo puede heredar de una superclase). Sin embargo, se puede lograr con interfaces, porque la clase puede implementar múltiples interfaces.

Los métodos abstractos son útiles cuando se quiere que cada implementación de la clase parezca y funcione igual, pero necesita que se cree una nueva clase para utilizar los métodos abstractos.

Todavia un interfaz podrá verse simplemente como una forma, es como un molde, solamente permite declarar nombres de métodos, listas de argumentos, tipos de retorno y adicionalmente miembros datos (los cuales podrán ser únicamente tipos básicos y serán tomados como constantes en tiempo de compilación, es decir, static y final).

Entonces un interfaz sublima el concepto de clase abstracta hasta su grado más alto y contiene una colección de métodos que se implementan en otro lugar. La principal diferencia entre interface y abstract es que un interfaz proporciona un mecanismo de encapsulación de los protocolos de los métodos sin forzar al usuario a utilizar la herencia.

Espero haberte podido ayudar, mucho éxito en todo lo que te propongas y si tienes alguna duda aquí estaremos para apoyarte.

¡Vamos juntos!

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios