Tres características básicas de la orientación a objetos
Las tres características básicas de la orientación a objetos son las siguientes:
1. Encapsulación
La encapsulación se comprende mejor. La encapsulación es una de las características de la orientación a objetos y la principal característica de los conceptos de objetos y clases.
Encapsulación significa encapsular cosas objetivas en clases abstractas, y la clase solo puede permitir que clases u objetos confiables operen sus datos y métodos, y ocultar información de los que no son confiables.
2. Herencia
Una de las principales funciones del lenguaje de programación orientada a objetos (OOP) es la "herencia". La herencia se refiere a la capacidad de utilizar toda la funcionalidad de una clase existente y ampliarla sin tener que reescribir la clase original.
Las nuevas clases creadas mediante herencia se denominan "subclases" o "clases derivadas".
La clase heredada se llama "clase base", "clase padre" o "superclase".
El proceso de herencia es el proceso de lo general a lo especial.
Para lograr la herencia, puedes lograrla a través de "Herencia" y "Composición".
En algunos lenguajes de programación orientada a objetos, una subclase puede heredar de múltiples clases base. Pero, en general, una subclase solo puede tener una clase base. Para lograr la herencia múltiple, se puede lograr mediante herencia multinivel.
Hay tres formas de implementar el concepto de herencia: herencia de implementación, herencia de interfaz y herencia visual.
La herencia de implementación se refiere a la capacidad de usar las propiedades y métodos de la clase base sin codificación adicional.
La herencia de interfaz se refiere al uso solo de los nombres de las propiedades y métodos, pero los nombres de las propiedades y los métodos; subclase debe Proporciona la capacidad de implementar;
La herencia visual se refiere a la capacidad de un subformulario (clase) de utilizar la apariencia y el código de implementación del formulario base (clase).
Al considerar el uso de la herencia, una cosa a tener en cuenta es que la relación entre dos clases debe ser una relación de "pertenece a". Por ejemplo, Empleado es una persona y Gerente también es una persona, por lo que ambas clases pueden heredar la clase Persona. Pero la clase Pierna no puede heredar la clase Persona porque la pierna no es una persona.
Las clases abstractas solo definen propiedades y métodos generales que serán creados por las subclases. Al crear una clase abstracta, utilice la palabra clave ?Interfaz?
El paradigma de desarrollo OO es aproximadamente el siguiente: dividir objetos → clases abstractas → organizar clases en estructuras jerárquicas (herencia y síntesis) → usar clases e instancias para diseñar e implementar varias etapas.
3. Polimorfismo
El polimorfismo (polymorphisn) es una tecnología que le permite establecer que un objeto principal sea igual a uno o más de sus objetos secundarios. Después de la asignación, el padre. El objeto puede entonces comportarse de diferentes maneras dependiendo de las propiedades del objeto hijo actualmente asignado a él. En pocas palabras, es una oración: se permite asignar un puntero de un tipo de subclase a un puntero de un tipo de clase principal.
Hay dos formas de implementar el polimorfismo, sobrescritura y sobrecarga.
La sobrescritura se refiere a la práctica de las subclases que redefinen funciones virtuales de las clases principales.
Sobrecarga significa que se permite que existan múltiples funciones con el mismo nombre, pero las listas de parámetros de estas funciones son diferentes (tal vez el número de parámetros es diferente, los tipos de parámetros son diferentes o ambos son diferentes) .
Entonces, ¿cuál es el papel del polimorfismo? Sabemos que la encapsulación puede ocultar detalles de implementación y hacer que la herencia del código sea modular; puede extender los módulos de código existentes (clases) y su propósito es reutilizar el código. ¡El polimorfismo es lograr otro propósito: la reutilización de la interfaz! La función del polimorfismo es garantizar la llamada correcta cuando se utiliza un determinado atributo de una instancia de cualquier clase en el "árbol genealógico" cuando la clase hereda y deriva.