Polimorfismo de las Tres Características de la Programación Orientada a Objetos (POO)

Directorio de artículos


Encapsulación de las tres características principales de la programación orientada a objetos (OOP)
Herencia de las tres características principales de la programación orientada a objetos (OOP)

prefacio

"Es mejor ser claro que ser inteligente. Es mejor ser claro que ser inteligente" -Greg McCann

1. Polimorfismo

En la última clase, Xiao Hei y Xiao Pang se sintieron profundamente atraídos por la hermosa joven que era nueva en la clase y los dos estudiaron con más atención que antes. Debido a que a los tres siempre les gusta sentarse en la primera fila, naturalmente hay más oportunidades para comunicarse y gradualmente se vuelven buenos amigos...

Debido a que hoy es 24 de octubre, el profesor James Gosling (James Gosling) llegó a clase con un regalo misterioso, y los estudiantes sintieron mucha curiosidad cuando vieron al profesor cargando una bolsa tan grande. Lo vi dejar el regalo a un lado y luego dije: Estudiantes, hoy es el Día del Programador, el maestro preparó regalos exquisitos para los estudiantes que escucharon atentamente, y los dos estudiantes con el mejor desempeño pueden recibirlos.
inserte la descripción de la imagen aquí
Sam, que estaba sentado en la última fila, pensó para sí mismo: ¿Por qué todavía tienes clases cuando el Día del Programador es el domingo?

El profesor abrió hábilmente el ppt preparado de antemano. De lo que quiero hablar hoy es de la tercera característica de la programación orientada a objetos: el polimorfismo.

El polimorfismo se refiere al fenómeno de que una variable de objeto puede indicar múltiples tipos reales;
el polimorfismo significa que la misma interfaz producirá diferentes resultados en diferentes objetos.
Como se muestra en la siguiente figura:
inserte la descripción de la imagen aquí
Tres condiciones necesarias para la existencia del polimorfismo
① Inheritance (herencia)
② Override (override)
③ La referencia de la superclase apunta al objeto de la subclase: Parent p = new Child(); // El
inserte la descripción de la imagen aquí
código de transformación ascendente es como sigue (ejemplo):

class Shape {
    
    
    void draw() {
    
    }
}
 
class Circle extends Shape {
    
    
    void draw() {
    
    
        System.out.println("Circle.draw()");
    }
}
 
class Square extends Shape {
    
    
    void draw() {
    
    
        System.out.println("Square.draw()");
    }
}
 
class Triangle extends Shape {
    
    
    void draw() {
    
    
        System.out.println("Triangle.draw()");
    }
}

Breve descripción, al crear un objeto Shape, apunte su referencia al objeto de la subclase, Shape s = new Square(); llame a s.draw(); // dibuje un círculo. Solo importa lo que pueda hacer el objeto a la izquierda del signo igual, y no te preocupes por otras funciones únicas del objeto a la derecha.

Al llamar a un método de forma polimórfica, primero verifique si el método existe en la superclase, de lo contrario, se produce un error de compilación; de ser así, llame al método del mismo nombre en la subclase.

Los beneficios del polimorfismo: puede hacer que el programa tenga una buena extensión y puede realizar un procesamiento común en objetos de todas las clases.

Nota:
La conversión de tipos solo se puede realizar dentro de una jerarquía de herencia;
antes de convertir una superclase en una subclase (conversión descendente), debe verificarse con instanceof.

Xiaopang preguntó: ¿Por qué necesitamos verificar la instancia de?
Xiao Hei respondió: Porque cuando un objeto no tiene una relación de herencia con otro objeto para la conversión, se producirá un error. Usando el ejemplo anterior, Shape s = new Shape(); Rectangle r = (Rectangle) s; Entre ellos, Rectangle no hereda la clase Shape, por lo que la conversión fallará.
inserte la descripción de la imagen aquí
Debido a que Xiao Hei y Xiao Pang son los más serios en el aula y piensan activamente en hacer preguntas y resolver problemas, la capacidad de dominar el conocimiento es más rápida que la de otros. El profesor recogió el regalo a su lado y anunció solemnemente que los estudiantes que ganaron los dos premios eran...

Al final, tanto Xiao Hei como Xiao Pang le dieron regalos a la encantadora dama de ojos azules y, desde entonces, su amistad ha sido tan firme como un triángulo de hierro dorado. En el camino del aprendizaje, crecer juntos y animarse juntos, y finalmente realizar el ideal de convertirme en un excelente programador, y usar mi habilidad para cambiar el mundo, haciendo la vida más y más fácil. En cuanto a lo que es el regalo misterioso, tenemos que partir de esa historia...


2. Resumen

El día a día de un pequeño programador
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
Bueno, el contenido de programación orientada a objetos de este número ha llegado a su fin. Hoy es un día especial. Ustedes que todavía están cambiando el mundo también deben prestar atención al descanso y al entretenimiento. Después de todo, el cuerpo es el capital de la codificación.

Supongo que te gusta

Origin blog.csdn.net/weixin_48627356/article/details/120934564
Recomendado
Clasificación