Sunteți pe pagina 1din 16

Programación Orientada a Objetos

Asignación de Responsabilidades
Ing. Julio Ernesto Carreño Vargas
MsC.
Asignación de Responsabilidades a las
clases
 Se deben asignar responsabilidades al experto en la
información,
 la clase que tiene la información necesaria para satisfacer la
responsabilidad.
 Cada objeto es responsable por mantener su propia
información, principio de encapsulamiento
 Conoce y puede informar el valor de sus atributos
 Puede modificar el valor de sus atributos

Programación Orientada a Objetos 2


Creación de Objetos
 Quién es el responsable de crear una nueva instancia de
una clase?
 El objeto B tiene la responsabilidad de crear objetos de la
Clase A si:
 B contiene objetos A
 B registra objetos A
 B usa exhaustivamente objetos A
 B conoce a A
 B posee la información necesaria para inicializar a A

Programación Orientada a Objetos 3


Creación de Objetos
 Primera Alternativa:
 En el constructor de la clase “propietaria” de la
relación, reciba y asigne una instancia de la clase
referenciada.

Programación Orientada a Objetos 4


Creación de Objetos
 Segunda Alternativa:
 En el constructor de la clase “propietaria” de la relación, cree una
nueva instancia de la clase referenciada invocando un
constructor vacío.
 Posteriormente use los métodos modificadores(set) para
asignar valores a los atributos

Programación Orientada a Objetos 5


Creación de Objetos
 Tercera Alternativa:
 En un método modificador de la clase “propietaria” de la
relación, reciba y asigne una instancia de la clase
referenciada, por lo tanto una tercera clase es la
encargada de crear y pasar la instancia

Programación Orientada a Objetos 6


Creación de Objetos
 Cuarta Alternativa:
 En un método de la clase “propietaria” de la relación, cree una nueva
instancia de la clase referenciada, reciba los parámetros para crear la
instancia.

Programación Orientada a Objetos 7


Creación de Objetos
 En una relación de todo/parte(agregación/composición):
 El todo es responsable de crear cada una de las partes. Para ello se crea un
nuevo método.
 Si la cardinalidad es *, se debe agregar la nueva instancia a la colección de
objetos.

Programación Orientada a Objetos 8


Colaboración de objetos
 La clase prueba quiere saber el nombre del Conductor del bus
que está atado a dicha clase(Prueba)

Programación Orientada a Objetos 9


Colaboración entre Objetos

 Prueba le pregunta a Bus, y Bus le consulta a su Conductor a través


de las relaciones de asociación.

Programación Orientada a Objetos 10


Colaboración de objetos

 Test desea conocer cuál es la cantidad total de salones de su


edificio.
 Quién sabe cuántos salones hay en total?
 Quién tiene la información para contestar a esta pregunta?

Programación Orientada a Objetos 11


Colaboración de objetos

 Observe que apareció un nuevo método “TotalizarSalones” en la


clase Edificio, ya que es esta clase la que tiene la información
para responder dicha pregunta.
Programación Orientada a Objetos 12
Colaboración de objetos

 Test desea conocer de cuántos pisos está contruido su Edificio


llamado contiene?

Programación Orientada a Objetos 13


Error Típico

 No asignó memoria a la instancia llamada contiene (donde está el


new?)

Programación Orientada a Objetos 14


Error Típico

 El main tiene una instancia llamada “contiene” de Edificio que es


diferente al atributo privado “contiene” de la clase Test.

Programación Orientada a Objetos 15


Bibliografía
 UML y patrones una introducción al análisis y diseño orientado a
objetos y al proceso unificado. Larman, Craig
 Paul Deitel. Como programar en Java 7/e. Pearson Education.
2007.

Programación Orientada a Objetos 16

S-ar putea să vă placă și