Usuario:Alvaro Otero/ejercicio 23


  APLICACION DEL CALCULO DE PREDICADOS A LA TECNOLOGÍA ORIENTADA A 
  OBJETOS


La mayoría de los lenguajes experimentales que se han producido en los últimos 10 años son orientados a objetos. Al igual que los frames, se asocia a un objeto tanto datos como procedimientos en estructuras organizadas en jerarquías. Los datos al igual que los procedimientos pueden ser heredados. Los objetos se comunican entre ellos a través de un protocolo especial de pasar mensajes. Cada objeto es una instancia de una clase y puede mandar su propio mensaje y hacer acciones independientes. Las clases se relacionan en una jerarquía.

El objeto puede ser objeto físico, un concepto, o lo que sea que queremos describir (ejemplo; un coche, un curso, un programa, etc.) Un objeto tiene un estado, exhibe un comportamiento bien definido y tiene una identidad única.

El código privado que tiene el objeto puede ser accesado solo por medio de mensajes. El mensaje dice a que objeto se dirige, que procedimiento ejecutar y cuales son los argumentos.

Los métodos que se utilizan se refieren a un procedimiento privado de un objeto que dice que hacer con un mensaje y como hacerlo. Como cada objeto tiene sus propios métodos, los objetos pueden responder diferente al mismo mensaje.

Normalmente los mensajes se mandan a instancias, que heredan su métodos de clases. Cuando se manda un mensaje a un objeto, éste checa sus datos y métodos particulares para ver si se puede manejar el mensaje. Si no puede, busca la forma de hacerlo en su objeto padre.

Los procedimientos pueden ser polimórficos (i.e., aceptar diferentes tipos o clases da datos y de todos modos saber que hacer) Se tiene que programar en términos de operaciones genéricas. Las propiedades relevantes dependen de cómo se persigue el objeto, ejemplo., un piano a un músico (como suena) a un cargador (cuanto pesa). De nuevo puede existir herencia múltiple (ejem., combinar ventanas).

La filosofía de representar el conocimiento en términos de objetos y agentes es adecuada para muchos problemas (en especial los que tienen un componente de simulación.) El tener datos y procedimientos, obliga a pensar en el tipo de objetos y el comportamiento que es relevante para el problema.