programacion
“En vez de un procesador de celdas de memoria…
tenemos un universo de objetos de buen comportamiento
que cortésmente solicitan a las demás llevar a cabo susdeseos”
-- Ingalls, 1981 (revista Byte)
Evolución
Años 60
Simula
Resolución de problemas de simulación
© Ole-Johan Dahl & Krysten Nygaard (Noruega)
Años 70
Smalltalk
Entorno de programaciónentendible por “novatos”
© Alan Kay (Xerox PARC, Palo Alto, California)
Años 80
C++
Extensión de C
© Bjarne Stroustroup (AT&T Bell Labs)
Años 90
Java
“Write once, run everywhere”
© SunMicrosystems
Conceptos básicos
• Todo es un objeto
• Los objetos se comunican entre sí pasándose mensajes
• Cada objeto tiene un estado
(contiene su propia memoria [datos])
• Un objeto es uncaso particular (instancia) de una clase
• Las clases definen el comportamiento de un conjunto de objetos
OOP – Introducción: Java
-1-
© Fernando Berzal
Resolución de problemas “conorientación a objetos”
Problema
Quiero enviar un paquete a un amigo que vive en otra ciudad
Opciones
a) Hacerlo todo yo mismo
˜ Descomposición en subproblemas
(programación estructurada)
b)Delegar en alguien para que lo haga (p.ej. Correos)
˜ “Realizar un encargo”
(programación orientada a objetos)
Solución orientada a objetos
• Se busca un objeto capaz de enviar un paquete
• Se leenvía un mensaje con mi solicitud
• El objeto se hace responsable de satisfacer mi solicitud
• El objeto utiliza un algoritmo que yo no tengo por qué conocer
Consecuencias
• Un programa orientadoa objetos se estructura como un conjunto
de agentes que interactúan (programa como colección de objetos).
• Cada objeto proporciona un servicio que es utilizado por otros
objetos (reutilización).• La acción se inicia por la transmisión de un mensaje al objeto
responsable de realizarla.
• Si el receptor acepta el mensaje, acepta la responsabilidad de
llevar a cabo la acción solicitada....
Regístrate para leer el documento completo.