¿Qué son los mensajes orientados a objetos?
¿Qué es un mensaje en orientación a objetos? ¿De qué partes consta un mensaje?
Los objetos de software interactúan y se comunican pasándose mensajes entre sí. Un mensaje consta de tres partes:
1. Objeto que recibe el mensaje
2. Receptor. El método que debe tomar el objeto
3. Parámetros requeridos por el método
La encapsulación combina todos los componentes del objeto
Una subclase actúa como otra clase A clase definida extendiendo o modificando
La herencia es el uso por parte de una subclase de métodos y variables definidas en la clase padre como si pertenecieran a la propia subclase.
Sobrescritura de n métodos
La sobrescritura permite redefinir los métodos existentes en la clase principal en la subclase, reflejando así el comportamiento de la propia subclase.
Sobrecarga significa que hay al menos dos métodos en la misma clase con el mismo nombre pero diferentes parámetros.
¿Cuál es el significado de mensaje en lenguaje de programación orientado a objetos?
El sistema Windows es un sistema operativo controlado por mensajes ¿Qué es un mensaje? Es difícil dar una definición, así que vamos a explicarla desde diferentes aspectos:
1. La composición del mensaje: un mensaje consta de un nombre de mensaje (UINT) y dos parámetros (WPARAM, LPARAM). Cuando el usuario realiza una entrada o cambia el estado de la ventana, el sistema enviará un mensaje a una ventana determinada. Por ejemplo, cuando se transfiere el menú, se enviará un mensaje WM_MAND. La palabra alta de WPARAM (HIWORD(wParam)) es el número de ID del comando, que es el ID del menú. Por supuesto, los usuarios también pueden definir sus propios nombres de mensajes o utilizar mensajes personalizados para enviar notificaciones y transferir datos.
2. Quién recibirá el mensaje: Un mensaje debe ser recibido por una ventana. En el proceso de ventana (WNDPROC), puede analizar los mensajes y procesar los mensajes que le interesen. Por ejemplo, si desea procesar selecciones de menú, puede definir el código para procesar WM_MAND. Si desea realizar salida gráfica en la ventana, debe procesar WM_PAINT.
3. A dónde van los mensajes no procesados: M$ escribe un procedimiento de ventana predeterminado para la ventana. Este procedimiento de ventana será responsable de procesar aquellos mensajes que usted no procese. Es precisamente gracias a este proceso de ventana predeterminado que podemos usar Windows Windows para el desarrollo sin tener que prestar demasiada atención al procesamiento de varios mensajes en la ventana. Por ejemplo, se enviarán muchos mensajes cuando se arrastre la ventana, pero podemos ignorarlos y dejar que el sistema los maneje por sí solo.
4. Identificador de ventana: cuando hablamos de mensajes, no podemos dejar de hablar de identificadores de ventana. El sistema utiliza identificadores de ventana para identificar de forma única una ventana en todo el sistema. Al enviar un mensaje, se debe tener un identificador de ventana. especificado para indicar de qué ventana proviene el mensaje. Ventana de recepción. Cada ventana tendrá su propio procedimiento de ventana, por lo que la entrada del usuario se procesará correctamente. Por ejemplo, si hay dos ventanas que utilizan un código de procedimiento de ventana, cuando hace clic con el mouse en la ventana uno, el mensaje se enviará a la ventana uno en lugar de a la ventana dos a través del identificador de la ventana uno.
5. Ejemplo: El siguiente es un pseudocódigo que demuestra cómo procesar mensajes en un procedimiento de ventana
LONG yourWndProc(HWND hWnd,UINT uMessageType,WPARAM wP,LPARAM)
{
switch(uMessageType)
{Utilice la instrucción SWITCH para separar varios mensajes
case(WM_PAINT):
doYourWindow (...);Salida cuando es necesario volver a dibujar la ventana
break;
case(WM_LBUTTONDOWN):
doYourWork(...); Procesado cuando se presiona el botón izquierdo del mouse
break;
default:
callDefaultWndProc(...); sí
break;
}
}
Encontré este párrafo para que lo leas, espero que te sea útil. De hecho, el mensaje no es algo sobre lenguajes de programación orientados a objetos, sino algo sobre el sistema WINDOWS, y solo he visto este tipo de programación de mecanismos de mensajes en VC++, pero este no es el caso de otros orientados a objetos. lenguajes de programación!
¿Qué son los objetos y mensajes en la programación orientada a objetos?
Los objetos son instancias de clases orientadas a objetos La orientación a objetos es un método de programación emergente, o es una nueva idea básica. El paradigma de programación es utilizar conceptos básicos como objetos, clases, herencia, encapsulación y mensajes para diseñar programas. Construye sistemas de software basados en cosas objetivamente existentes (es decir, objetos) en el mundo real, y...
¿Qué significa orientado a objetos?
La forma en que los humanos resuelven los problemas es divide y vencerás. Por lo tanto, ya sea orientado a objetos o a procesos, esencialmente está descomponiendo el problema. La diferencia es que la orientación a procesos descompone el problema en una serie de pasos y luego descompone estos pasos hasta que pueda implementarlo fácilmente, lo que equivale a la descomposición del algoritmo. La orientación a objetos descompone el problema en una serie de objetos cooperantes, y estos objetos se descomponen aún más. Cada objeto en el sistema representa una entidad relacionada con el problema o con la implementación. Aquellos objetos relacionados con el problema son componentes del problema, mientras que los objetos relacionados con la implementación son entidades auxiliares utilizadas por la implementación específica y no tienen relación directa con ella. el problema en sí. La cooperación mutua y la cooperación de todos los objetos del sistema realizan las funciones de todo el sistema. Todos los objetos del sistema y las relaciones entre ellos constituyen la estructura componente del sistema. Las comúnmente denominadas abstracción, encapsulación, modularización y estructura jerárquica describen y clasifican objetos. Las jerarquías de clases se pueden obtener combinando elementos como abstracción, encapsulación, herencia, polimorfismo, etc. La jerarquía de clases y la jerarquía de componentes se denominan arquitectura de sistemas orientados a objetos. Por lo tanto, la orientación a objetos se trata principalmente de establecer la estructura de objetos y la jerarquía de clases, mientras que la orientación a procesos se trata de establecer la estructura jerárquica del "algoritmo" (proceso). La capa inferior de la orientación a objetos debe estar orientada a procesos, pero para lugares de alto nivel, la orientación a procesos no se puede utilizar, por lo que la orientación a objetos tiene un nivel de abstracción más alto que la orientada a procesos.
Por ejemplo, podemos considerar la fabricación de automóviles desde dos aspectos: 1. Podemos pensar que la fabricación de automóviles es producto de una serie de procesos, y cada proceso contiene subprocesos, dadas las condiciones adecuadas. El material se procesa a través de una serie de pasos para finalmente producir un automóvil. 2. También podemos pensar que la fabricación de automóviles la completan diferentes fábricas que cooperan entre sí. Cada fábrica tiene sus propios trabajadores y máquinas, cada trabajador, cada máquina y cada fábrica realiza sus propias tareas y, en última instancia, completa un vehículo. Fabricación de automóviles.
A través de la observación, encontraremos que hay algunos trabajadores que son muy similares (por ejemplo, todos usan la misma ropa de trabajo y producen las mismas piezas). En este momento, crearemos una clase para describir la similitud entre ellos (resumen). ) y Definir una interfaz para especificar sus responsabilidades (encapsulación también a través de la observación, encontramos que incluso si son clases diferentes (como trabajadores que producen diferentes piezas), tienen ciertas similitudes (como que todos producen piezas de la misma manera); fábrica), pero hay diferencias en lugares similares (diferentes tipos de trabajadores producen diferentes piezas), luego usamos clases base (herencia) para describir las similitudes y usamos funciones virtuales (polimorfismo) para describir las diferencias en las similitudes. A través del análisis anterior, establecimos la composición y jerarquía de clases, y describimos la fabricación de automóviles utilizando un método orientado a objetos.
¿A qué se refiere el "mecanismo de paso de mensajes" mencionado en las características del lenguaje orientado a objetos? . . .
Un mensaje es cuando un objeto llama a una función miembro (C++) o método (java) de otro objeto. Este término es utilizado por lenguajes puramente orientados a objetos. Debido a que diferentes lenguajes orientados a objetos tienen diferentes implementaciones orientadas a objetos, han surgido algunos dialectos, es decir, el mismo concepto tiene diferentes nombres en diferentes idiomas.
Qué es un mensaje (en método orientado a objetos), explicación sustantiva.
La interacción entre objetos se genera a través de mensajes. Un objeto envía un mensaje para solicitar a otro objeto que realice cierto procesamiento o responda cierta información.
Qué es un objeto orientado a objetos, qué está orientado a procesos, qué es orientado a objetos
La tecnología orientada a objetos es una tecnología basada en objetos que utiliza eventos o mensajes para impulsar el objeto. Ejecución y procesamiento de tecnología. Tiene abstracción, encapsulación, herencia y polimorfismo.
Las diferencias entre la programación orientada a objetos y la programación orientada a procesos son las siguientes:
(1) El método de programación orientada a procesos utiliza funciones (o procedimientos) para describir la operación de los datos. , pero también utiliza funciones (o procedimientos) para describir las operaciones de los datos. Separa los datos que opera, el método de programación orientado a objetos encapsula los datos y las operaciones sobre los datos y los procesa en su conjunto. Si las funciones y los datos están separados
(2) El método de programación orientado a procesos utiliza la función como centro para diseñar módulos funcionales, lo cual es difícil de mantener, mientras que el método de programación orientado a objetos utiliza los datos como centro; para describir el sistema, y los datos son relativos a la función. Tiene una mayor estabilidad y es más fácil de mantener.
(3) El flujo de control de los programas orientados a procesos está determinado por el orden predeterminado en el programa; el flujo de control de los programas orientados a objetos se activa mediante la ocurrencia real de varios eventos durante el tiempo de ejecución y es Ya no está determinado por el orden predeterminado, más acorde con las necesidades reales. Secuencia predeterminada; desencadenada por la ocurrencia real de varios eventos durante el tiempo de ejecución
(4) El método de programación orientada a objetos puede utilizar productos de marco (como MFC, Microsoft Foundation Classes) para la programación. Marco orientado a objetos disponible La diferencia fundamental entre orientado a objetos y orientado a procesos es que después de la encapsulación, el orientado a objetos proporciona varias características que el orientado a procesos no tiene, las más importantes son la herencia y el polimorfismo.
En C++, qué es un mensaje, qué es una clase, qué es un objeto
Por ejemplo:
Clase→Apple
Objeto→Tú La manzana en mano
En cuanto a las novedades. . . Parece usarse en el desarrollo de software. . . No se puede atribuir a ningún idioma.
Parece ser un mecanismo de respuesta. La operación genera mensajes y el sistema los ejecuta paso a paso a través de la cola de mensajes. . . (Se ve así ~)
¿Qué significa "orientado a objetos" en términos sencillos?
La orientación a objetos es en realidad una extensión natural del modelo del mundo real. Cualquier entidad del mundo real puede considerarse un objeto. Los objetos interactúan entre sí a través de mensajes. Además, cualquier entidad en el mundo real puede pertenecer a un determinado tipo de cosa, y cualquier objeto es una instancia de un determinado tipo de cosa. Si los lenguajes de programación tradicionales orientados a procesos están centrados en procesos y controlados por algoritmos, los lenguajes de programación orientados a objetos están centrados en objetos y controlados por mensajes. Expresado como una fórmula, el lenguaje de programación procedimental es: programa = algoritmo + datos; el lenguaje de programación orientado a objetos es: programa = objeto + mensaje. Todos los lenguajes de programación orientados a objetos admiten tres conceptos: encapsulación, polimorfismo y herencia, y Java no es una excepción.
Los objetos en el mundo real tienen atributos y comportamientos, que se asignan a programas de computadora. Los atributos representan los datos del objeto y los comportamientos representan los métodos del objeto (su función es procesar datos o interactuar con el mundo exterior). La llamada encapsulación consiste en utilizar un marco autónomo para conectar los datos y métodos del objeto para formar un todo. Se puede decir que los objetos son los medios para soportar la encapsulación y son la unidad básica de la encapsulación. El lenguaje Java tiene una fuerte encapsulación, porque Java no tiene variables globales ni funciones principales. La mayoría de los miembros en Java son objetos, excepto los tipos numéricos simples, tipos de caracteres y tipos booleanos. Para estos tipos, Java también proporciona los tipos de objetos correspondientes para interactuar con otros objetos. El polimorfismo es una variedad de expresiones. Específicamente, se puede expresar mediante "una interfaz externa y múltiples métodos de implementación internos". Por ejemplo, una pila en una computadora puede almacenar datos en varios formatos, incluidos números enteros, coma flotante o caracteres. No importa qué tipo de datos se almacenen, la implementación del algoritmo de la pila es la misma. Para diferentes tipos de datos, los programadores no necesitan seleccionar manualmente. Solo necesitan usar un nombre de interfaz unificado y el sistema puede seleccionarlo automáticamente. La sobrecarga del operador siempre se ha considerado una excelente encarnación del polimorfismo, pero debido a que se consideró que dificultaba la comprensión del programa, Java finalmente la canceló. Herencia significa que un objeto usa directamente las propiedades y métodos de otro objeto. De hecho, muchas entidades que encontramos tienen significados heredados. Por ejemplo, si un automóvil se considera una entidad, se puede dividir en múltiples subentidades, como camiones, autobuses, automóviles, etc. Todas estas entidades infantiles tienen las características de un automóvil, por lo que el automóvil es su "padre" y estas entidades infantiles son los "hijos" del automóvil. Java proporciona a los usuarios una serie de clases. Las clases Java tienen una estructura jerárquica y las subclases pueden heredar los atributos y métodos de la clase principal. A diferencia de otros lenguajes de programación orientados a objetos, Java sólo admite herencia única.
¿Cuál es la comprensión de los eventos de objetos (mensajes), funciones, procedimientos y atributos en el desarrollo de software orientado a objetos, y las diferencias entre ellos?
La Orientación a Objetos (OO) es el enfoque actual de la industria informática. Fue la corriente principal de los métodos de desarrollo de software en la década de 1990. Los conceptos y aplicaciones orientados a objetos han trascendido la programación y el desarrollo de software y se han expandido a una amplia gama. Como sistemas de bases de datos, interfaces interactivas, estructuras de aplicaciones, plataformas de aplicaciones, sistemas distribuidos, estructuras de gestión de redes, tecnología CAD, inteligencia artificial y otros campos.
Cuando se trata de orientación a objetos, hay muchos artículos en esta área. Sin embargo, hay muy pocas definiciones explícitas de objetos o descripciones de objetos; al menos yo no he encontrado ninguna todavía. Inicialmente, "orientado a objetos" se refiere específicamente al uso de métodos de diseño como la encapsulación, la herencia y la abstracción en la programación. Sin embargo, es evidente que esta definición ya no es adecuada a la situación actual. El pensamiento orientado a objetos ha estado involucrado en todos los aspectos del desarrollo de software. Por ejemplo, el análisis orientado a objetos (OOA, Object Oriented Analysis), el diseño orientado a objetos (OOD, Object Oriented Design) y lo que solemos llamar programación orientada a objetos (OOP, Object Oriented Programming). Muchos artículos sobre orientación a objetos solo describen los problemas a los que se debe prestar atención en el desarrollo orientado a objetos o los mejores métodos de diseño adoptados. Leer estos artículos puede beneficiarle en gran medida sólo si realmente comprende qué es un objeto y qué es la orientación a objetos. En este punto, me temo que los principiantes e incluso aquellos que han estado involucrados en trabajos relacionados durante muchos años tendrán una idea vaga de ellos.
La orientación a objetos es el enfoque actual de la industria informática y fue la corriente principal de los métodos de desarrollo de software en la década de 1990. Los conceptos y aplicaciones orientados a objetos han trascendido la programación y el desarrollo de software y se han expandido a una amplia gama. Como sistemas de bases de datos, interfaces interactivas, estructuras de aplicaciones, plataformas de aplicaciones, sistemas distribuidos, estructuras de gestión de redes, tecnología CAD, inteligencia artificial y otros campos.
1. Problemas con los métodos de desarrollo tradicionales
1. Mala reusabilidad del software
Reusabilidad significa que lo mismo se puede usar varias veces sin modificaciones o con ligeras modificaciones Naturaleza reutilizable. La reutilización del software es uno de los objetivos que persigue la ingeniería de software.
2. Mala mantenibilidad del software
La ingeniería de software enfatiza la mantenibilidad del software, enfatiza la importancia de la documentación y estipula que el producto de software final debe estar compuesto por componentes de configuración completos y consistentes. En el proceso de desarrollo de software, siempre se enfatiza que la legibilidad, modificabilidad y capacidad de prueba del software son indicadores de calidad importantes del software. La práctica ha demostrado que el costo de mantenimiento del software desarrollado utilizando métodos tradicionales sigue siendo muy alto. La razón es que la modificabilidad es pobre y el mantenimiento es difícil, lo que resulta en una mantenibilidad deficiente.
3. El software desarrollado no puede satisfacer las necesidades del usuario
El uso de métodos estructurados tradicionales para desarrollar sistemas de software a gran escala implica conocimientos en varios campos y los requisitos de desarrollo son ambiguos o los requisitos cambian. dinámicamente Al desarrollar un sistema, el sistema de software desarrollado a menudo no puede satisfacer realmente las necesidades de los usuarios.
La estabilidad, modificabilidad y reutilización del software desarrollado utilizando métodos estructurados son relativamente pobres. Esto se debe a que la esencia de los métodos estructurados es la descomposición funcional, a partir del software individual que representa la función general del sistema de destino. A partir del procesamiento, el procesamiento complejo se descompone en subprocesamiento de arriba a abajo, de modo que se descompone capa por capa hasta que solo haya unas pocas funciones de subprocesamiento que sean fáciles de implementar, y luego use las herramientas correspondientes para describir cada una. procesamiento más bajo. Por lo tanto, un enfoque estructurado estructura el sistema en torno a "procesos" que implementan funciones de procesamiento. Sin embargo, los cambios en los requisitos del usuario son en su mayoría funcionales, por lo que dichos cambios pueden ser desastrosos para el diseño basado en procesos. La estructura del sistema diseñada con este método suele ser inestable. Los cambios en las necesidades de los usuarios a menudo provocan cambios importantes en la estructura del sistema, lo que requiere mucho dinero para lograr dichos cambios.
2. Conceptos básicos de la orientación a objetos.
(1) Objeto.
Un objeto es cualquier cosa que la gente quiera estudiar. Desde los números enteros más simples hasta aviones complejos, pueden considerarse objetos y no solo pueden representar cosas específicas, sino también reglas, planes o eventos abstractos.
(2) El estado y comportamiento del objeto.
Los objetos tienen estado y un objeto utiliza valores de datos para describir su estado.
Los objetos también tienen operaciones, que se utilizan para cambiar el estado del objeto. El objeto y sus operaciones son el comportamiento del objeto.
Los objetos realizan la combinación de datos y operaciones, de modo que los datos y las operaciones quedan encapsulados en la unidad de los objetos
(3) Clase.
Una abstracción de objetos con propiedades iguales o similares es una clase. Por tanto, la abstracción de un objeto es una clase y la concreción de una clase es un objeto. También se puede decir que una instancia de una clase es...