5 Clases Objetos

También podría gustarte

Está en la página 1de 25

Company

LOGO Clases y objetos


Objetos

• Modela entidades del mundo real.


• Captura abstracciones de fenómenos
complejos.
• Representar artefactos de software
como pilas, gráficos, etc.

Universidad de Sonora Programación Avanzada 2


Objetos

• El problema se ve como objetos que


interactúan entre ellos.

Universidad de Sonora Programación Avanzada 3


Ejemplo

Enviar flores.
• Suponga que Juan desea llevarle flores a
una amiga en otra ciudad María.
• Como Juan no puede llevarlas
personalmente, le encarga a una florista
(Rosa) el envío.
• María recibe sus flores.

Universidad de Sonora Programación Avanzada 4


B4

Ejemplo

Enviar flores.
• Juan le solicita a Rosa un servicio.
• Rosa sabe cómo prestarle el servicio a
Juan.
• Juan sabe que Rosa presta el servicio que
el necesita.
• Rosa es responsable de prestarle el servicio
adecuadamente a Juan.
• Juan desconoce qué le implica a Rosa
prestarle el servicio.

Universidad de Sonora Programación Avanzada 5


Ejemplo

• Enviar flores:
María Mensajero

Arreglista Productor

Juan Rosa Recolector

Florista Local

Universidad de Sonora Programación Avanzada 6


Conceptos básicos

• En programación orientada por objetos


un programa es una comunidad de
agentes (objetos) que interactúan entre
ellos.
• Cada objeto tiene un rol en la solución
del problema.
• Cada objeto provee un conjunto de
servicios (o métodos)
• Los servicios de un objeto son usados
por otros objetos.
Universidad de Sonora Programación Avanzada 7
Conceptos básicos

• Los objetos se comunican entre ellos a


través de mensajes:
– Un mensaje encapsula la petición de un
servicio.
– El receptor del mensaje presta el servicio
y devuelve una respuesta al que solicitó el
servicio.

Universidad de Sonora Programación Avanzada 8


Conceptos básicos

Un objeto ventana gráfica


Ventana ejemplo

La ventana se sabe: ¿Qué sabe hacer la ventana?



cerrar ¿Cuáles servicios ofrece?

abrir

cambiar de tamaño

pintar ¿Cómo se le solicitan los

mover servicios?
Además, sabe: dónde está,
si está visible o no ...

Universidad de Sonora Programación Avanzada 9


Conceptos básicos

Ventana ejemplo

Objetos figuras geométricas:



un triángulo

un rectángulo

un círculo

Las figuras geométricas se


saben:

Pintar ¿Qué saben hacer las figuras

agrandar .. geométricas gráficas?
Además, saben: dónde están,
si están visibles o no ...
¿Cómo se le solicitan los
servicios?

Universidad de Sonora Programación Avanzada 10


Conceptos básicos

Ventana ejemplo

La ventana tiene la Las figuras geométricas


responsabilidad de solicitar tienen la responsabilidad de
a las figuras geométricas saberse pintar y de hacerlo
que se pinten cuando se lo soliciten

La ventana tiene que saber cómo hacer la solicitud.


La figura geométrica tuvo que haber hecho público cómo usar sus
servicios

Universidad de Sonora Programación Avanzada 11


Conceptos básicos

Ca mbiarTama ño(50%+)
Ventana Cliente
Ok

Interfaz: conjunto de s ervicios públicos que presta

La comunicación se hace a través del envío de


mensajes

Universidad de Sonora Programación Avanzada 12


Conceptos básicos

• Modelar consiste en identificar


(abstraer) qué objetos hay en el mundo
del problema, cómo son, cómo se
comportan y cómo se relacionan.

Universidad de Sonora Programación Avanzada 13


Clases

• Son prototipos o modelos que definen las


variables y métodos comunes a todos los
objetos de cierto tipo.

Universidad de Sonora Programación Avanzada 14


Clases

• Ejemplos:
– Clase automóvil.
– Clase persona.
– Clase vuelo (de avión).

Universidad de Sonora Programación Avanzada 15


Clases

• Las clases:
– Tienen atributos.
– Tienen un estado.
– Ofrecen servicios.

Universidad de Sonora Programación Avanzada 16


Ejemplo

• La clase automóvil.
• Atributos:
– Marca, modelo, color, año, dueño, etc.
• Estado:
– Prendido o apagado.
• Servicios:
– Prende auto, apaga auto.

Universidad de Sonora Programación Avanzada 17


Ejemplo

• Clase vuelo de avión.


• Atributos:
– Número de vuelo, hora, línea aérea, etc.
• Estado:
– Activo, cancelado, demorado, etc.
• Servicios:
– Cancela vuelo, activa vuelo, cambia hora, etc.

Universidad de Sonora Programación Avanzada 18


¡Importante!

• Los servicios afectan y pueden cambiar


los valores de los atributos y/o del estado
de la clase.

Universidad de Sonora Programación Avanzada 19


Objetos

• Los objetos son instancias de una clase.


• Los objetos tienen valores específicos
para los atributos y el estado.

Universidad de Sonora Programación Avanzada 20


Ejemplo

• Objeto: vuelo 222


• Atributos:
– Número de vuelo: 222
– Hora de salida: 9AM
– Línea aérea: Patito Airlines.
• Estado:
– Demorado.
• Servicios:
– Ofrece los servicios de su clase.
Universidad de Sonora Programación Avanzada 21
Interface

• Los servicios de las clases son descritos


por una interface.
• En Java los servicios se le llaman
métodos.

Universidad de Sonora Programación Avanzada 22


Diagramas

• Se usan diagramas para describir los


atributos de la clase y los métodos que
los afectan.

Universidad de Sonora Programación Avanzada 23


Interface

Nombre de la clase

Atributos/Campos/Datos

Métodos/Servicios/Interface

Universidad de Sonora Programación Avanzada 24


Conclusión

• El envío de mensajes es la única forma para


que un objeto realice una operación.
• Las operaciones son la única forma para
cambiar el estado de los datos.
• Cuando esto se cumple, se dice que el estado
interno del objeto (el valor de sus datos) está
encapsulado; éste no puede ser manipulado
directamente desde el exterior y su
representación concreta es invisible.

Universidad de Sonora Programación Avanzada 25

También podría gustarte