Programacion

Páginas: 5 (1039 palabras) Publicado: 19 de octubre de 2010
Programación orientada a objetos
Ejemplos Tema 1: Conceptos OO
[De T. Budd, Introducción a la Programación Orientada a Objetos, cap. 1]

Descripción de la POO según Alan Kay
a principios de los ’70) La POO está basada en el principio de diseño recursivo: 1. Todo son objetos.

(creador de Smalltalk,

2. Los objetos funcionan haciéndose peticiones de uno a otro mediante paso de mensajes.3. Cada objeto tiene su propia memoria, que consta de otros objetos. 4. Cada objeto es un ejemplar (nstancia) de una clase. Una clase agrupa objetos i similares. 5. La clase es el repositorio del comportamiento asociado con un objeto. 6. Las clases están organizadas en una estructura arbórea que se denomina jerarquía de herencia. Veamos cómo aparecen estos conceptos al solucionar un problema dela vida real.

Ejemplo de conceptos de OO: Enviar flores a una amiga
Considérese el problema de enviar flores a una amiga que reside en una ciudad diferente. Por ejemplo, Juan quiere enviar flores a Inés. Juan no puede enviarlas directamente y para ello utiliza los servicios de su florista local, asociado a Interflora. Juan le indica al florista (que se llama Paco) la dirección de Inés, cuántoquiere gastar, el tipo de flores que enviar y un texto para poner en la tarjeta que acompaña al ramo. Paco contacta con una floristería en la ciudad de Inés, que se encarga de preparar el ramo de flores y buscar el repartidor que lo entregue. Si se piensa con detenimiento, puede haber además otras personas involucradas en esta transacción. Por ejemplo, el mayorista de flores, tal vez alguien queprepare el ramo, etc.

Agentes y comunidades
Lo primero que se puede ver es que los resultados se consiguen por la interacción de unos agentes, que llamamos objetos. Además, cualquier actividad no trivial requiere la interacción de una comunidad de objetos que trabajan juntos.

Cada objeto tiene una parte que jugar, un servicio que proporcionar a los otros miembros de la comunidad.Elementos de la POO - Objetos
Según el primer principio de Kay: 1. Todo son objetos. Las acciones en POO las realizan los objetos. Normalmente hay muchos objetos que colaboran en un escenario. Por ejemplo, D. Juan, el florista, el que prepara el ramo, etc. Cada objeto tiene una responsabilidad, y el resultado es el producto de la colaboración de todos los objetos en la solución del problema.Elementos de la POO – Mensajes
El principio número 2: 2. Los objetos funcionan haciéndose peticiones de uno a otro mediante paso de mensajes. Las acciones en POO se producen como respuesta a las peticiones de acciones, que se llaman mensajes. Un objeto puede aceptar un mensaje y como respuesta realizará una acción y devolverá un valor. Para empezar el proceso de enviar flores, Juan le da un mensajeal florista, que a su vez envía un mensaje al florista en la localidad de la destinataria, que le da un mensaje al repartidor, y así sucesivamente.

Ocultando información
Obsérvese que como usuario de un servicio que proporciona un objeto lo único que se necesita saber es el nombre de los mensajes que aceptará el objeto. No hace falta tener ninguna idea sobre cómo se realizarán las acciones enrespuesta a la petición. Una vez aceptado un mensaje, un objeto es responsable de llevarlo a cabo.

Elementos de la POO – Receptores
Los mensajes son diferentes de las llamadas a función tradicionales en dos aspectos importantes: • • En un mensaje hay designado un receptor que acepta el mensaje. La interpretación del mensaje puede ser diferente, dependiendo del receptor.

Diferentes accionesvar

receptores,

mismo

mensaje,

diferentes

Paco : Florista;

Carmen : Hermana; SacaMuelas : Dentista; begin Paco.enviaFloresA(miNovia); { funcionará } Carmen. enviaFloresA(miNovia); { también funcionará } Ken. enviaFloresA(miNovia); { probablemente no funcionará } end;

El mismo mensaje ocasionará acciones distintas, dependiendo de a quién vaya dirigido.

Comportamiento e...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Programación
  • Programacion
  • Programacion
  • Programación
  • Programacion
  • Programacion
  • Programacion
  • Programacion

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS