Red de conocimiento informático - Conocimiento sistemático - Una breve discusión sobre el desarrollo orientado a objetos en Delphi

Una breve discusión sobre el desarrollo orientado a objetos en Delphi

Delphi es un entorno de programación completamente orientado a objetos. El método de programación orientada a objetos (Programación orientada a objetos, POO) puede representar el mundo real de forma más natural que el método estructurado (Programación estructural). Si la programación estructurada comienza desde la función del sistema y divide el sistema en varios módulos funcionales de acuerdo con estándares de ingeniería y especificaciones estrictas, el sistema es una colección de funciones y procesos que realizan las funciones del módulo, entonces la programación orientada a objetos comienza desde los datos; a procesar y describe el sistema con los datos como el centro en lugar del centro de servicio (función). Trata los problemas de programación como una colección de datos y los datos son más estables que las funciones. La mayor diferencia entre el diseño orientado a objetos y el diseño estructurado es que el primero se ocupa de los datos a procesar, mientras que el segundo se ocupa de las funciones a implementar.

La programación orientada a objetos (Programación Orientada a Objetos, POO) se refiere a un método de programación, o

una idea de programación. La programación orientada a objetos tiene tres características principales: encapsulación, derivación y polimorfismo de datos. Si un lenguaje de programación cumple con estas tres características, se puede decir que soporta POO. Visual C es totalmente compatible con la programación orientada a objetos. Visual Basic solo admite la encapsulación de datos y no admite la derivación ni la herencia, por lo que no es un lenguaje OOP completo. Aunque Visual Basic afirma admitir el polimorfismo a través de múltiples interfaces ActiveX, todos saben que ni siquiera admite la derivación, por lo que es imposible admitir realmente el polimorfismo. Por eso, Visual Basic se denomina "lenguaje pseudo-OOP". Mucha gente piensa que la encapsulación de datos es programación orientada a objetos, lo cual es incorrecto. La encapsulación de datos es solo una característica de la programación orientada a objetos, y algunos lenguajes que no son OOP también admiten la encapsulación de datos. ¡Esto es muy importante!

El método de diseño orientado a objetos es un resumen abstracto de las cosas que existen objetivamente en el mundo real. Las clases y objetos creados por personas son todos modelos de una determinada entidad. Por ejemplo, si una fábrica quiere producir una bombilla tipo A, este proceso requiere un objeto al que se aplica la acción: la bombilla tiene algunos atributos: brillo, material, peso, etc. También puede tener muchas acciones, ya sean activas o pasivas. La bombilla puede encenderse y apagarse, girarse o incluso explotar. Todas estas son acciones relacionadas con ella. Por lo tanto, una vez determinado el "objeto", se puede resumir el "método" correspondiente. Entonces la gente hizo un modelo para producir bombillas del tipo A: clase. Para dar otro ejemplo típico, al ingresar el comando de DOS para eliminar un archivo, generalmente ingresa "eliminar c:\command.dat" después del operador de DOS. En este momento, es posible que vea el mensaje: archivo no encontrado. Esto se debe a que el objeto al que se aplica la acción no existe. El método de diseño orientado a objetos resuelve este problema durante la compilación, en lugar de esperar a la etapa de ejecución, el usuario puede saber primero qué es el objeto y luego comprender qué acciones tiene. Ya sea que haya un error en el objeto escrito o en el método llamado, el error se informará durante la compilación para facilitar la modificación, en lugar del error durante la ejecución. Esta es una característica importante del método de diseño orientado a objetos

—Encapsulación. Al mismo tiempo, la orientación a objetos puede resolver el problema de la reutilización-herencia del código. Volviendo a mirar las bombillas, ¿qué pasa si todavía queremos producir una bombilla más avanzada que tenga las ventajas de las bombillas tipo A? Si el modelo de bombilla tipo A se descarta por completo y se vuelve a crear, todo el trabajo anterior quedará enterrado, lo que supone un evidente desperdicio de recursos. Por lo tanto, solo necesita "derivar" un modelo tipo B (clase derivada) y agregar nuevas características basadas en el modelo tipo A (clase base). Luego, una vez escrito el programa, el código anterior se puede reutilizar con éxito. La biblioteca de clases VCL de Delphi proporciona a los usuarios muchas clases base.

Continuando con el ejemplo de la bombilla, si se quiere producir bombillas, se puede expresar como "producción.de.bombilla".

A través del comando único (interfaz) de "producción", los empleados necesitan fabricar bombillas tipo A o tipo B. En otras palabras, se pueden lograr dos operaciones diferentes llamando a una interfaz, por lo que esto es polimorfismo. El polimorfismo es el alma de la tecnología orientada a objetos y comprender el polimorfismo es una de las claves para dominar la tecnología orientada a objetos. El polimorfismo se tratará en detalle en capítulos posteriores.

El pensamiento de diseño orientado a objetos también incluye la comprensión del mecanismo del mensaje. Atribuimos el proceso de comunicación entre clases a la transmisión de mensajes. Comprender el mecanismo de mensajes promoverá aún más la comprensión de la implementación de clases y los métodos de operación.