Red de conocimiento informático - Consumibles informáticos - ¿Cuáles son las características de la programación orientada a objetos?

¿Cuáles son las características de la programación orientada a objetos?

1. Modelo de programación

Todas las computadoras se componen de dos elementos: código y datos. Para ser precisos, algunos programas se escriben en torno a "lo que está sucediendo" y otros lo son. escrito en torno a "quién se ve afectado".

El primer estilo de programación se denomina "modelo orientado a procesos". Los programas escritos según este modelo se caracterizan por una serie de pasos lineales (código). entendido como código que actúa sobre datos como C y otros lenguajes de procedimiento.

El segundo método de programación se denomina "modelo orientado a objetos". Los programas escritos según este modelo giran en torno a los datos del programa. (objeto) y una interfaz estrictamente definida para que el objeto organice el programa. Se caracteriza por el acceso al código de control de datos Al transferir el control a los datos, el modelo orientado a objetos tiene los siguientes métodos organizativos: abstracción, encapsulación, herencia y. beneficios del polimorfismo.

2. Abstracción

El elemento básico de la programación orientada a objetos es la abstracción, y los programadores la utilizan para gestionar la complejidad.

Una gestión eficaz El método de abstracción consiste en utilizar propiedades de clasificación jerárquica. Este método permite al usuario descomponer un sistema complejo según su significado físico y dividirlo en partes más manejables. Por ejemplo, un sistema informático es un objeto independiente. de varios subsistemas: monitor, teclado, disco duro, DVD-ROM, disquete, audio, etc. Cada uno de estos subsistemas está compuesto por componentes especializados. La clave es utilizar la abstracción jerárquica para administrar el sistema informático (o cualquier otro La complejidad. de sistemas complejos).

La esencia de la programación orientada a objetos: estos objetos abstractos pueden verse como entidades concretas que responden a mensajes que nos dicen qué hacer.

/* ( Según tengo entendido)

*La computadora es una entidad. Quiero ingresar caracteres y el monitor los muestra, luego

*Computadora (objeto). Entrada (Propiedades del teclado). método de visualización)

*Utilice capas para hacer referencia y operar, independientemente de cómo la computadora lo maneje internamente.

*Siempre que haya un objeto de computadora, puede responder a mi operación , y escribo en el teclado,

*El objeto computadora transmite este mensaje a la pantalla, y la pantalla lo muestra.

*/

La computadora el objeto contiene todos los atributos, así como las operaciones, este es uno de los tres principios principales de la programación orientada a objetos: encapsulación.

3. Encapsulación

La encapsulación es una forma de combinar código y las operaciones del código Un mecanismo para agrupar datos para protegerlos de interferencias externas y uso indebido. La encapsulación puede entenderse como un envoltorio protector para evitar que otro código definido fuera del envoltorio acceda arbitrariamente al código y los datos. El código y los datos dentro del contenedor se controlan a través de una interfaz bien definida. La ventaja de encapsular el código es que todos saben cómo acceder al código y pueden usarlo directamente sin preocuparse por los detalles de implementación y sin preocuparse por efectos secundarios impredecibles. /p>

En JAVA, la unidad de encapsulación más básica es una clase. Una clase define el comportamiento (datos y código) que será compartido por un grupo de objetos. Cada objeto de una clase contiene su estructura definida y. En su comportamiento, estos objetos parecen haber sido moldeados a partir de un molde. Por eso, los objetos también se denominan instancias de la clase.

Al definir una clase, es necesario especificar el código y los datos que la componen. Sí, los objetos definidos por la clase se llaman variables miembro o variables de instancia. El código que opera los datos se llama método miembro. El método define cómo usar las variables miembro, lo que significa que el comportamiento y la interfaz de la clase están definidos. por los métodos que operan en los datos de la instancia.

Dado que el propósito de una clase es encapsular la complejidad, existe un mecanismo dentro de la clase para ocultar la complejidad de la implementación. Por lo tanto, JAVA proporciona modos de acceso público y privado. La interfaz pública de la clase representa que los usuarios externos deben saber o pueden saber. Solo se puede acceder a los datos del método privado a través del código de miembro de la clase. Esto garantiza que no suceda nada no deseado.

4. Herencia

La herencia se refiere al proceso por el cual un objeto obtiene atributos de otro objeto. Es el segundo de los tres principios principales de la programación orientada a objetos. Por ejemplo, Los gatos persas son un tipo de gato, un gato es un tipo de mamífero y un mamífero es un tipo de animal. Si no se utiliza el concepto de jerarquía, cada objeto debe definir claramente todas sus características mediante una clasificación jerárquica. Lo único que debe estar en Su definición de clase es que se convierte en el único atributo individual y luego hereda sus atributos generales de la clase principal. Por lo tanto, es precisamente debido al mecanismo de herencia que un objeto puede convertirse en una instancia específica de una clase general. Una herencia profunda Una subclase heredará todas las propiedades de cada uno de sus antepasados ​​en la jerarquía de clases.

La herencia y la encapsulación pueden interactuar. Si una clase determinada encapsula ciertas propiedades, cualquiera de sus subclases incluirá los mismos atributos. , más todos los atributos de cada subclase. Este es un concepto importante en el crecimiento lineal más que geométrico en la complejidad de los programas orientados a objetos. Una nueva subclase hereda todos los atributos de todas sus subclases y sistemas. El resto del código no producirá datos impredecibles. interacciones.

5. Polimorfismo

Polimorfismo significa que un método solo puede tener un nombre, pero puede tener muchas formas, y es decir, se pueden definir múltiples métodos con el mismo nombre. en el programa, descrito como "una interfaz, múltiples métodos". Se puede hacer referencia a ellos a través de los parámetros y tipos de los métodos.

6. Uso combinado de encapsulación, herencia y polimorfismo

En un entorno compuesto de encapsulación, herencia y polimorfismo, los programadores pueden escribir programas que sean más robustos y extensibles que el modelo orientado a procesos. Las jerarquías de clases cuidadosamente diseñadas permiten la reutilización del código. La encapsulación permite a los programadores trasplantar programas sin modificarlos. el código de la interfaz pública permite a los programadores desarrollar código conciso, fácil de entender y fácil de modificar. Por ejemplo: Car

Desde una perspectiva de herencia, los controladores dependen de la herencia. Conduzca diferentes tipos (subclases) de automóviles, ya sea un automóvil o un camión, un Mercedes-Benz o un Fiat, el conductor puede encontrar el volante, el freno de mano y la palanca de cambios. Conocerán la diferencia entre transmisión manual y transmisión automática, porque en realidad conocen la misma superclase de ambas: transmisión.

Desde el paquete Desde una perspectiva, el conductor siempre ve las características encapsuladas El freno esconde un. mucha complejidad y su apariencia es tan simple que se puede operar con los pies. La implementación del motor, el freno de mano y el tamaño de los neumáticos no tienen ningún impacto en la definición de la clase de freno. Desde una perspectiva polimórfica, el sistema de frenado se puede dividir en bloqueo hacia adelante y bloqueo hacia atrás. El conductor solo usa su pie para frenar y detenerse. La misma interfaz se puede usar para controlar varias implementaciones diferentes (bloqueo hacia adelante o bloqueo hacia atrás). >

De esta manera, cada componente independiente se convierte en el objeto del automóvil. De manera similar, mediante el uso de principios de diseño orientado a objetos, los programadores pueden combinar los diversos componentes de un programa complejo para formar programas consistentes, robustos y fáciles de mantener. /p>