A que llamamos herencia
Nivel de abstracción
Contenidos
La herencia es un mecanismo de adquisición de las características y comportamientos de una clase por parte de otra clase. La clase cuyos miembros se heredan se llama clase base, y la clase que hereda esos miembros se llama clase derivada. La herencia implementa la relación IS-A.
Por ejemplo, el mamífero es un animal, el perro es un mamífero; por lo tanto, el perro es un animal también. La herencia es uno de los aspectos fundamentales de la llamada Programación Orientada a Objetos (POO) y si tenemos que describir la herencia es que proporciona la forma de lograr la reutilización del código, ya que podemos escribir el mismo código varias veces, una y otra vez, en lugar de heredar una versión de las propiedades dadas de una clase en la otra, extendiéndola. Aprenderemos cada tipo de herencia en este artículoDiferentes tipos de herencia
En este artículo, has aprendido sobre los diferentes tipos de herencia, incluyendo las ventajas y desventajas. Me gustaría tener comentarios de los lectores de mi blog. Sus valiosas opiniones, preguntas o comentarios sobre este artículo son siempre bienvenidos.
¿Qué es la herencia familiar?
Es un proceso que implica la transmisión de bienes materiales de una generación a otra, normalmente dentro de la familia, generalmente de los padres mayores (donantes) a sus hijos adultos (herederos), que se completa tras la muerte de la generación mayor.
¿Qué son los dos de la herencia?
La herencia puede producirse a través de dos mecanismos generales diferentes: la herencia genética o la herencia epigenética.
¿Qué es la herencia y su tipo?
La herencia es el procedimiento por el cual una clase hereda los atributos y métodos de otra clase. La clase cuyas propiedades y métodos se heredan se conoce como clase Padre. Y la clase que hereda las propiedades de la clase padre es la clase hija.
Composición sobre herencia
Herencia: Una idea de reutilización de código en OOPLa herencia es uno de los principios básicos de la programación orientada a objetos (OOP), que nos ayuda a derivar una clase de otra clase o una jerarquía de clases que comparten un conjunto de atributos y métodos. Es una relación entre una superclase (una clase generalizada) y una subclase (una clase especializada), donde la subclase hereda los datos y el comportamiento de la superclase.
En el programa anterior, cuando se crea un objeto de la clase CalculadoraAvanzada, una copia de todos los métodos y campos de la superclase Calculadora adquiere memoria en este objeto. Así que utilizando un objeto de una subclase también podemos acceder a los miembros de una superclase.
Cuando algunas clases están estrechamente relacionadas, podemos identificar atributos y métodos comunes y añadirlos a una superclase. Después, utilizamos la herencia para definir subclases y especializarlas con capacidades que van más allá de las heredadas de la superclase.
En otro escenario, los recursos de memoria y procesamiento podrían desperdiciarse si las subclases son más grandes de lo necesario (es decir, contienen demasiada funcionalidad). Así que podemos extender la superclase que incluye la funcionalidad más cercana a lo que se necesita.
Abstracción de datos
La herencia, junto con la encapsulación, la abstracción y el polimorfismo, es uno de los pilares de la programación orientada a objetos. La herencia permite que las nuevas clases tomen prestada, o hereden, la funcionalidad de las clases existentes. Esto nos permite evitar la duplicación de la funcionalidad que debe ser compartida a través de una variedad de clases diferentes pero relacionadas. También se puede especificar una nueva implementación mientras se mantiene la misma interfaz de una clase existente.
Cuando utilizamos la herencia, decimos que una nueva clase debe heredar los miembros de una clase existente. Llamamos a la clase existente la clase base, y la nueva clase es la clase derivada. A veces oirás referirse a la clase derivada como una subclase, y la clase base puede llamarse la clase padre o la superclase.
Esta línea significa que getVariety() es una función virtual pura. Es decir, la clase Fruit no proporciona una implementación de la función getVariety(); una subclase tendrá que proporcionar una implementación. Si una clase tiene incluso una función virtual pura, la llamamos abstracta. Eso significa que no podemos instanciar una instancia de la propia clase. Considere el siguiente código:
Heredar sinónimo
Los tutoriales de Java han sido escritos para el JDK 8. Los ejemplos y las prácticas que se describen en esta página no aprovechan las mejoras introducidas en versiones posteriores y pueden utilizar tecnología que ya no está disponible.Consulte los cambios en el lenguaje Java para ver un resumen de las características actualizadas del lenguaje en Java SE 9 y las versiones posteriores.Consulte las notas de la versión del JDK para obtener información sobre las nuevas características, las mejoras y las opciones eliminadas o obsoletas de todas las versiones del JDK.
Definiciones: Una clase derivada de otra clase se denomina subclase (también clase derivada, clase extendida o clase hija). La clase de la que deriva la subclase se llama superclase (también clase base o clase padre).
Excepto Object, que no tiene superclase, cada clase tiene una y sólo una superclase directa (herencia única). En ausencia de otra superclase explícita, toda clase es implícitamente una subclase de Object.
Las clases pueden derivar de clases que derivan de clases que derivan de clases, y así sucesivamente, y en última instancia derivan de la clase superior, Object. Se dice que una clase así desciende de todas las clases de la cadena de herencia que se remonta a Object.