[Columna 62 de JavaSE] Herencia, una característica importante en la programación orientada a objetos JAVA

Página de inicio del autor : Diseñador Xiao Zheng
Breve introducción del autor : 3 años de experiencia en desarrollo JAVA full-stack, centrándose en la tecnología JAVA, personalización del sistema, orientación remota, dedicado a la transformación digital empresarial, profesor certificado de CSDN College y Blue Bridge Cloud Course.
Dirección principal : Vue, SpringBoot, subprograma WeChat

Este artículo explica el concepto y la sintaxis de la herencia orientada a objetos en Java y proporciona un código de muestra. La herencia es una característica importante en la programación orientada a objetos, que permite que una clase herede las propiedades y métodos de otra clase.

inserte la descripción de la imagen aquí


1. ¿Qué es la herencia?

La herencia es una característica importante en la programación orientada a objetos, que permite que una clase (subclase) herede las propiedades y métodos de otra clase (clase padre) .

Las subclases pueden heredar las variables y métodos miembros públicos de la clase principal y también pueden anular los métodos de la clase principal o agregar sus propios métodos y variables miembro.

El propósito principal de la herencia es lograr la reutilización y extensión del código. A través de la herencia, las subclases pueden heredar propiedades y métodos existentes de la clase principal, evitando la escritura repetida del mismo código. Las subclases pueden extender funciones sobre la base de la herencia, agregar sus propias propiedades y métodos únicos y lograr más funciones.

En Java, la palabra clave se usa extendspara realizar la relación de herencia de la clase, y el formato gramatical de la clase secundaria que hereda la clase principal es el siguiente.

public class 子类名 extends 父类名 {
    
    
    // 子类的成员变量和方法
}

A través de la herencia, las subclases pueden acceder a métodos y variables miembro públicas en la clase principal, incluidas las heredadas y las definidas en la clase principal.

La herencia tiene los siguientes 6 66 conceptos y características clave, estudie cuidadosamente.

  • La subclase hereda las características de la clase padre y puede obtener las propiedades y métodos de la clase padre.
  • Las subclases pueden anular los métodos de la clase principal para implementar su propio comportamiento único.
  • Las subclases pueden agregar sus propias variables y métodos miembro .
  • Las subclases pueden acceder directamente a miembros no privados de la superclase .
  • La relación de herencia entre la subclase y la clase principal es unidireccional y la clase principal no puede heredar las propiedades y métodos de la subclase.
  • Java no admite la herencia múltiple , es decir, una clase solo puede heredar de una clase principal.

La herencia es un mecanismo importante en la programación orientada a objetos, que brinda la capacidad de reutilizar y expandir el código, lo que hace que el diseño del programa sea más flexible y fácil de mantener.

inserte la descripción de la imagen aquí


2. Por qué heredar

El uso de la herencia en Java tiene los siguientes 5 55 beneficios, estudie cuidadosamente.

  1. Reutilización de código : la herencia permite que las subclases hereden las propiedades y métodos de la clase principal, evitando la escritura repetida del mismo código. Las subclases pueden usar directamente las propiedades y los métodos de la clase principal, lo que reduce la cantidad de código y mejora la reutilización del código.
  2. Interfaz unificada : a través de la herencia, un grupo de clases relacionadas se puede agrupar en una familia de clases para que compartan la misma interfaz y comportamiento. Esto puede mejorar la legibilidad y la mantenibilidad del código, haciendo que el diseño del programa sea más estandarizado y unificado.
  3. Extensibilidad : a través de la herencia, las funciones se pueden extender sobre la base de las clases existentes. Las subclases pueden agregar sus propias propiedades y métodos, anular los métodos de la clase principal y lograr más funciones. De esta forma, las subclases se pueden ampliar para cumplir con nuevos requisitos sin modificar el código original.
  4. Polimorfismo : La herencia es la base del polimorfismo. Se puede hacer referencia al objeto de la subclase a través de la variable de referencia de la clase principal, de modo que se pueda realizar el procesamiento unificado de diferentes objetos de la subclase. El polimorfismo aumenta la flexibilidad y la escalabilidad del código.
  5. Mantenibilidad : a través de la herencia, las clases relacionadas se pueden organizar juntas, lo que hace que el código sea más claro y fácil de entender. Cuando es necesario modificar una parte del código, solo se debe modificar el código de la clase o subclase principal sin afectar otras partes, lo que mejora la capacidad de mantenimiento del código.

En resumen, la herencia es un mecanismo importante en la programación orientada a objetos, que proporciona flexibilidad, extensión y reutilización del código. A través de la herencia, se puede reducir la redundancia del código, se puede mejorar la legibilidad y el mantenimiento del código, y el diseño del programa se puede estandarizar y unificar más.

inserte la descripción de la imagen aquí


3. Cómo heredar

En Java, las palabras clave se utilizan extendspara implementar la relación de herencia de las clases. El siguiente es un código de muestra, cópielo y ejecútelo localmente.

// 父类
class Animal {
    
    
    protected String name;
    
    public Animal(String name) {
    
    
        this.name = name;
    }
    
    public void eat() {
    
    
        System.out.println(name + " is eating.");
    }
}
// 子类
class Dog extends Animal {
    
    
    private String breed;
    
    public Dog(String name, String breed) {
    
    
        super(name);
        this.breed = breed;
    }
    
    public void bark() {
    
    
        System.out.println(name + " is barking.");
    }
}
// 测试类
public class Main {
    
    
    public static void main(String[] args) {
    
    
        Dog dog = new Dog("Tommy", "Labrador");
        dog.eat(); // 调用父类的方法
        dog.bark(); // 调用子类的方法
    }
}

En el código anterior, Animalla clase es la clase principal y Dogla clase es la clase secundaria. La subclase hereda las propiedades y métodos de la clase principal Doga través de palabras clave. En el método de construcción de la subclase, use la palabra clave para llamar al método de construcción de la superclase para inicializar las propiedades de la superclase. Las subclases también pueden definir sus propias variables miembro y métodos, como los métodos y en el código de muestra.extendsAnimalsuperbreedbark()

En Mainla clase, creamos un Dogobjeto y llamamos a métodos de la superclase y la subclase. A través de la herencia, las subclases pueden acceder a las propiedades y métodos de la clase principal y también pueden agregar sus propias funciones únicas.

Lo anterior es un ejemplo simple que demuestra cómo implementar extendsla herencia de clases. A través de la herencia, podemos realizar la reutilización y la extensión del código, lo que hace que el diseño del programa sea más flexible y fácil de mantener.

inserte la descripción de la imagen aquí


Cuarto, herencia y encapsulación, conexión polimórfica.

En Java, la herencia, la encapsulación y el polimorfismo son 3 3 aspectos de la programación orientada a objetosHay tres conceptos importantes, que están íntimamente relacionados.

  1. Herencia y encapsulación : tanto la herencia como la encapsulación son características fundamentales de la programación orientada a objetos y se pueden usar en conjunto. La herencia logra la reutilización y la extensión del código mediante la ampliación de las propiedades y los métodos de las clases existentes, mientras que la encapsulación oculta los detalles de implementación interna de las clases y proporciona interfaces externas para proteger los datos y los métodos, mejorando la seguridad y el mantenimiento del código. La herencia puede heredar las propiedades y los métodos encapsulados de la clase principal, y estos miembros encapsulados se pueden usar en la subclase. Mediante el uso combinado de herencia y encapsulación, se puede lograr un diseño de código más modular y extensible.
  2. Herencia y polimorfismo : la herencia y el polimorfismo son dos conceptos importantes en la programación orientada a objetos, que se implementan a través de jerarquías de clases y reescritura de métodos. La herencia puede hacer que los objetos de la subclase se consideren como objetos de la clase padre, logrando así el polimorfismo. El polimorfismo permite el uso de variables de referencia de la clase padre para referirse a objetos de la subclase, de esta manera, se puede realizar el procesamiento unificado de objetos de diferentes subclases. La combinación de herencia y polimorfismo puede mejorar la flexibilidad y escalabilidad del código, haciendo que el diseño del programa esté más en línea con las características orientadas a objetos.

La herencia, la encapsulación y el polimorfismo son conceptos básicos de la programación orientada a objetos y, juntos, promueven la reutilización, la encapsulación y la flexibilidad del código. Al aplicar correctamente la herencia, la encapsulación y el polimorfismo, puede diseñar código con una estructura clara, escalabilidad y mantenibilidad, y mejorar la eficiencia del desarrollo y la calidad del código.

inserte la descripción de la imagen aquí


5. Preguntas de entrevista heredadas

1. ¿Qué es la herencia en Java?

Respuesta: La herencia es un concepto en la programación orientada a objetos que permite que una clase (llamada subclase o clase derivada) herede las propiedades y métodos de otra clase (llamada clase padre o base).

2. ¿Cuáles son las ventajas de la herencia?

Respuesta: La herencia tiene las siguientes ventajas:

  • Reutilización de código : las subclases pueden heredar las propiedades y métodos de la clase principal, evitando la escritura repetida del mismo código.
  • Interfaz unificada : las subclases pueden compartir la interfaz y el comportamiento de la clase principal, lo que hace que el diseño del programa sea más estandarizado y unificado.
  • Extensibilidad : las subclases pueden extender funciones basadas en la clase principal y agregar nuevas propiedades y métodos.
  • Polimorfismo : se puede hacer referencia a los objetos de la subclase a través de las variables de referencia de la clase principal para lograr un procesamiento unificado de diferentes objetos de la subclase.

3. ¿Cómo concretar la relación sucesoria?

Respuesta: En Java, las palabras clave se utilizan extendspara implementar relaciones de herencia. Las subclases extendsheredan las propiedades y métodos de la clase principal a través de palabras clave.

4. ¿Es posible la herencia múltiple en Java?

Respuesta: Java no admite la herencia múltiple, una clase solo puede heredar de una clase principal. Sin embargo, Java admite herencia múltiple de interfaces, una clase puede implementar múltiples interfaces.

5. ¿Qué es la cadena de herencia?

Respuesta: La cadena de herencia se refiere a la estructura jerárquica compuesta de múltiples clases en la relación de herencia. Cada subclase hereda directa o indirectamente de una clase principal, formando una cadena de herencia.

6. ¿Puedo heredar la clase final en Java?

respuesta: no Las clases finales en Java no se pueden heredar.

7. ¿Puedo heredar miembros y constructores privados en Java?

respuesta: no Los miembros y constructores privados no se pueden heredar, y las subclases no pueden acceder directamente a los miembros y constructores privados de la clase principal.

8. ¿Cuál es la diferencia entre herencia y composición?

Respuesta: La herencia consiste en reutilizar y ampliar el código ampliando las propiedades y los métodos de las clases existentes, mientras que la composición consiste en utilizar objetos de clases existentes como miembros de nuevas clases para reutilizar el código. La herencia es is-arelacional (una subclase es un caso especial de una clase padre), mientras que la composición es has-arelacional (una nueva clase tiene un objeto de una clase existente).


6. Resumen

Este artículo explica el concepto y la sintaxis de la herencia orientada a objetos en Java y proporciona códigos de muestra. En el próximo blog, explicaré los puntos de conocimiento del polimorfismo orientado a objetos en Java.

inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/qq_41464123/article/details/132034465
Recomendado
Clasificación