Primero, hablemos brevemente sobre la definición de sus tres características principales:
Encapsulación: oculta las propiedades y los detalles de implementación del objeto, solo expone la interfaz al mundo exterior y controla el nivel de acceso de las propiedades de lectura y modificación del programa. Combinando los datos y comportamientos abstractos (o funciones) para formar un todo orgánico, es decir, que combina orgánicamente los datos con el código fuente de datos operativos para formar una "clase", donde los datos y las funciones son miembros de la clase. El propósito de la encapsulación es mejorar la seguridad y simplificar la programación. Los usuarios no tienen que comprender los detalles de implementación específicos, sino que simplemente usan los miembros de la clase a través de una interfaz externa, un permiso de acceso específico. Los requisitos básicos para la encapsulación son: Privatizar todos los atributos, proporcionar métodos Getter y Setter para cada atributo. Si hay un constructor con parámetros, debe escribir un constructor sin parámetros. Durante el desarrollo, a menudo debe probar las clases ya escritas, por lo que a veces puede reescribir el método de tostración, pero esto no es necesario.
Herencia: habilitar la reutilización del código a través de la herencia. Todas las clases en Java se obtienen heredando directa o indirectamente la clase Java.lang.Object. La clase hereditaria se llama subclase, y la clase hereditaria se llama clase principal. Las subclases no pueden heredar variables y métodos miembros en la clase principal cuyo permiso de acceso es privado. Una subclase puede anular los métodos de la clase principal y las variables del miembro del nombre con el mismo nombre que la clase principal. Sin embargo, Java no admite la herencia múltiple, es decir, la capacidad de una clase para derivar de múltiples superclase. En el desarrollo, la relación de herencia se minimiza, y esto se hace para reducir el grado de acoplamiento del programa.
Polimorfismo: el polimorfismo se divide en el polimorfismo de tiempo de diseño y el polimorfismo en tiempo de ejecución. Por ejemplo, la sobrecarga también se llama polimorfismo de tiempo de diseño. Para anular o heredar métodos, el sistema de tiempo de ejecución Java decide qué método llamar en función del tipo de instancias que llaman al método, que se llama polimorfismo en tiempo de ejecución. En resumen, las características típicas del diseño orientado a objetos son la herencia, la encapsulación y el polimorfismo, que también son la clave para la popularidad de los objetos orientados.
Paquete
El valor predeterminado de los derechos de acceso para un atributo de clase en Java no es privado. Si desea ocultar el método de este atributo, puede agregar un modificador privado para restringir solo el acceso a la clase.
Para atributos privados en una clase, se debe administrar un par de métodos (getxxx, setxxx ()) para acceder a los atributos privados para garantizar la operación y la seguridad de los atributos privados.
Encapsulación del método, la divulgación de la divulgación, el oculto oculto.
Herencia de Java
La herencia es abstraer múltiples tipos de cosas con características comunes en una sola clase.
La herencia en Java debe usar la palabra clave Extends, y el dedo medio Java permite la herencia única, es decir, una clase solo puede tener una clase principal.
El constructor no puede ser heredado .
Anular el método Java
Cuando hay métodos en la subclase que devuelven la misma lista de parámetros que el mismo nombre al que se puede acceder en la clase principal, los métodos heredados de la clase principal se sobrescribirán.
Palabra clave super ()
Super () significa que cuando el constructor de la subclase llama al constructor de la clase principal, Super () solo puede estar en la primera oración del constructor.
Polimorfismo en Java
Hay dos mecanismos polimórficos: polimorfismo en tiempo de compilación y polimorfismo en tiempo de ejecución
1. Sobrecarga del método: la sobrecarga se refiere a múltiples métodos con el mismo nombre en la misma clase, pero estos métodos tienen parámetros diferentes. , por lo que puede determinar qué método llamar al momento de la compilación, que es un polimorfismo en tiempo de compilación.
2. Overización del método: las subclases pueden anular los métodos de la clase principal, por lo que el mismo método tendrá diferentes manifestaciones en la clase y las subclases principales. En el lenguaje Java, las variables de referencia de la clase base pueden apuntar no solo al objeto de instancia de la clase base, sino también al objeto de instancia de la subclase. Del mismo modo, las variables de referencia en la interfaz también pueden apuntar al objeto de instancia de su clase de implementación.
public class A {public String show (d obj) {return ("a and d");} public string show (a obj) {return ("a and a");}} public class B extiende una {String public String show (b obj) {return ("b y b");} string public string (A obj) {return ("B y A");} B {} prueba de clase pública {public static void main (string [] args) {a a1 = new a (); a a2 = new b (); b b = new b (); c c = new c (); d d = new d (); System.out.println ("1--" + A1.Show (b)); System.out.println ("2--" + A1.Show (c)); System.out.println ("3--" + A1.Show (d)); System.out.Println ("4--" + A2.Show (B)); System.Rintln ("5--" a2.show (c)); system.out.println ("6--" + a2.show (d)); system.out.println ("7--" + B.Show (b)); System.out.println ("8--" + B.Show (c)); System.println ("9--" + B.Show (D)); }} 1-A y A2-A y A3-A y D4-B y A5-B y A6-A y D7-B y B8-B y B9-A y D Cuando un objeto superclase se refiere a una variable para referirse a un objeto de subclase, el tipo del objeto referenciado en lugar del tipo de la variable referenciada determina cuyo método miembro se llama, pero el método llamado debe definirse en la superclase, es decir, el método cubierto por la subclase.
Usemos un ejemplo para ilustrar el significado de esta oración: a2.show (b);
Aquí A2 es una variable de referencia, del tipo A, que se refiere al objeto B. Por lo tanto, de acuerdo con la oración anterior, significa que hay B para decidir de qué método llamar, por lo que A2.show (b) debería llamar a mostrar (b obj) en b, y el resultado debería ser "b y b", pero ¿por qué es diferente del resultado de ejecución anterior? Aquí ignoramos la siguiente oración "Pero el método llamado aquí debe definirse en la superclase", ¿existe Show (B OBJ) en la Clase A? ¡No existe en absoluto! ¿Entonces esta oración no se aplica aquí? Entonces, ¿esta oración está mal? ¡No! De hecho, esta oración también implica esta oración: todavía debe confirmarse de acuerdo con la prioridad de los métodos de llamadas en la cadena de herencia. Es por eso que encuentra que Show (A OBJ) en la Clase A. Al mismo tiempo, ya que B anula el método, llama a los métodos en la Clase B, de lo contrario se llamarán a los métodos en la Clase A.
Lo anterior es la comprensión de las tres características principales de la encapsulación de Java, la herencia y el polimorfismo introducido a usted. Espero que te sea útil. Si tiene alguna pregunta, déjame un mensaje y el editor le responderá a tiempo. ¡Muchas gracias por su apoyo al sitio web de Wulin.com!