Ver Mensaje Individual
  #3 (permalink)  
Antiguo 08/01/2010, 18:47
megajandro
(Desactivado)
 
Fecha de Ingreso: diciembre-2008
Ubicación: por ahi!!!
Mensajes: 113
Antigüedad: 15 años, 4 meses
Puntos: 1
Respuesta: Referirse a un objeto dentro de otro objeto al que pertenece

Cita:
Iniciado por Tuirenn Ver Mensaje
Hola. Estoy aprendiendo a programar en Java y en general en orientación a objetos, y en una práctica tengo un problema que no sé como resolver.

Por poner un ejemplo, tengo un objeto (Laura) de una clase Persona, en el que creo un objeto (Megane) de una clase Automovil y a su vez dentro de éste creo otro objeto (Michelin) de una clase Rueda.

Es decir, tengo un objeto Laura.Megane.Michelin

¿Cómo hago referencia al objeto Laura si estoy en un método del objeto Michelin?
Por ejemplo porque tengo que llamar a un método de un objeto (Tarjeta) de la clase FormaDePago que también pertenece a Laura (Laura.Tarjeta)?

Podría pasarlo por referencia y es lo que hacía pero he llegado a un punto en el que no puedo hacerlo y estoy hecho un lío. Si alguien pudiera orientarme un poco...
- primero
siempre vas a tener.
objeto.mensaje(parametro);
donde parametro es opcional.
asi es la comunicacion entre objetos, todo lo que hagas de otra manera
esta mal.
- segundo.
Siempre que tengas atributos en principio deberian ser estos private
y para acceder a ellos debe ser mediante getters y setters.
-tercero.
si estas en un metodo del objeto michelin, lo que te tenes que preguntar
es si michelin tiene que hablar con laura y comunicarse para algo.
si Laura es el conductor del automovil y michelin es la cubierta
no se que comunicacion puede haber entre ellos? pero bueno esto es tan
relativo que depende de lo que queres modelar que es algo que no nos estas contando. Pero trata siempre que la comunicacion tenga cierta coherencia
con el modelo real que queres llevar a objetos. Primero empeza por
entender lo que tenes que modelar y hacete en papel un diagrama de objetos
que vos identificas, luego defini la comunicacion y los mensajes (como hablan para
resolver un problema), fijate si estos mensajes tienen coherencia. Luego defini las responsabilidades de estos por ejemplo.
conductor: acelera, frena, mira controles,etc.
auto: consume combustible, se mueve a cierta velocidad, etc.
cubierta: tiene cierta presion, desgaste, rozamiento, etc.
todo esto va a depender de lo que queres modelar.