La herencia es uno de los tres principios básicos de la programación orientada a objetos.
Permite la creación de clasificaciones jerárquicas.
Con la herencia, puedes crear una clase general que defina características comunes a un conjunto de elementos relacionados.
Esta clase general puede ser heredada por otras clases más específicas, que añaden características exclusivas.
En la jerga de Java, la clase heredada se llama superclase.
La clase que hereda se llama subclase.
Una subclase es una versión especializada de la superclase.
La subclase hereda todas las variables y métodos de la superclase y agrega sus propios elementos únicos.
Aspectos básicos de la herencia
Java admite herencia, lo que permite que una clase incorpore otra en su declaración.
Esto se hace con la palabra clave extends.
La subclase agrega funcionalidad (extiende) a la superclase.
Un ejemplo de esto es la creación de una superclase llamada TwoDShape, que almacena el ancho y alto de un objeto bidimensional.
Se crea una subclase llamada Triangle para extender TwoDShape.
La palabra clave extends se utiliza para crear la subclase.
TwoDShape define atributos de una forma bidimensional genérica, como cuadrado, rectángulo, triángulo, etc.
La clase Triangle es una subclase de TwoDShape y crea un tipo específico: el triángulo.
Triangle hereda todo de TwoDShape y agrega el campo de estilo, el método area() y el método showStyle().
style almacena el estilo del triángulo, que puede ser cualquier descripción como "completo", "contorno" o "isosceles".
El método area() calcula y devuelve el área del triángulo.
El método showStyle() muestra el estilo del triángulo.
Triangle puede acceder a los miembros de ancho y alto de TwoDShape, tanto en area() como directamente en los objetos t1 y t2.
TwoDShape, a pesar de ser una superclase de Triangle, es una clase independiente y se puede usar por separado.
Forma TwoDShape = nueva TwoDShape();
forma.ancho = 10;
forma.altura = 20;
forma.showDim();
clase nombre-subclase extiende nombre-superclase {
// cuerpo de clase
}
En Java, solo puedes especificar una única superclase para cualquier subclase que crees.
Java no admite herencia múltiple (herencia de múltiples superclases en la misma subclase), a diferencia de C .
Es posible crear una jerarquía de herencia donde una subclase se convierte en la superclase de otra subclase.
Ninguna clase puede ser una superclase en sí misma.
Una ventaja de la herencia es que una superclase puede definir atributos comunes a múltiples objetos, permitiendo la creación de numerosas subclases específicas.
Cada subclase puede definir su propia clasificación específica basada en la superclase.
Un ejemplo de esto es crear una subclase de TwoDShape para encapsular rectángulos.
La clase Rectángulo es una subclase de TwoDShape.
Agrega el método isSquare(), que determina si el rectángulo es un cuadrado (cuando el ancho es igual al alto).
También agrega el método area(), que calcula el área del rectángulo.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3