"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Herencia

Herencia

Publicado el 2024-11-01
Navegar:874
  • 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.

Herança

Herança

  • 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();

  • Un objeto de la clase TwoDShape no conoce ni accede a ninguna subclase de TwoDShape.

Herança

  • Declaración de clase que hereda una superclase:

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.

Herança

  • 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.

Declaración de liberación Este artículo se reproduce en: https://dev.to/devsjavagirls/heranca-2nbo?1 Si hay alguna infracción, comuníquese con [email protected] para eliminarlo.
Último tutorial Más>

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