Java - No sé como montarmelo para evitar usar static.

   
Vista:

No sé como montarmelo para evitar usar static.

Publicado por Jordi jordidalmaucolell2@hotmail.com (135 intervenciones) el 04/05/2017 22:57:53
Hola gente,
Os cuento mi dilema:

Llevo varios días haciendo un pequeño programa, currándomelo a saco y haciéndolo lo mejor que puedo. A día de hoy, con una gran parte de este terminada, me enfrento a un problemilla que se me tiene que presentar justo ahora que ya casi está todo. Lo que tengo es una clase que instancia dos clases, estas a su vez instancian otras clases, cada una con su función dentro del programa, y la cosa es que necesito hacer pasar unos datos generados en el final de una rama hasta el final de otra rama, por lo que solo se me ocurren dos opciones y ninguna de las dos me hace demasiada gracia:

1. Hacer 5 una interfaz con getValorATraspasar y setValorATraspasar y aplicarla a todas las clases que hay de camino a la clase que lo necesita.

2. Hacer un método getValorATraspasar static y listo. Que es de lo más sencillo que se me ocurre, lo que pasa es que igual que lo anterior creo que no es demasiado correcto...

Os adjunto una imagen con un pequeño esquema improvisado, no es un esquema de herencia como puede parecer, es un esquema de que clase está instanciada dentro de que clase. Y he puesto en amarillo de donde hasta donde tendrían que ir los datos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

No sé como montarmelo para evitar usar static.

Publicado por Andrés andres.mella.romero@gmail.com (337 intervenciones) el 04/05/2017 23:50:18
Interesante
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

No sé como montarmelo para evitar usar static.

Publicado por Jordi jordidalmaucolell2@hotmail.com (135 intervenciones) el 05/05/2017 00:12:25
:s ¿Tu que harías en un caso como este?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

No sé como montarmelo para evitar usar static.

Publicado por Andrés andres.mella.romero@gmail.com (337 intervenciones) el 05/05/2017 06:45:09
usar una referencia en la clase que necesita el valor a traspasar, aquí un ejemplo:

AW0vK
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

No sé como montarmelo para evitar usar static.

Publicado por Jordi jordidalmaucolell2@hotmail.com (135 intervenciones) el 05/05/2017 12:07:42
Con referencia a que te refieres? Tampoco he entendido el esquema que me has dado de ejemplo :'( y muchas gracias por tu voluntad de ayudar, acabo de preguntarle sobre esto a los informáticos de mi instituto y han pasado de mí.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

No sé como montarmelo para evitar usar static.

Publicado por Andrés (337 intervenciones) el 05/05/2017 14:53:02
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
class A {}
 
class B extends A {
    public Object obtenerValor() {return new Object();}
}
 
class C extends A {
 
    private B b;
 
    public void setB(B b){this.b= b;}
    public B getB(){return this.b;}
 
    public Object obtenerValor() {return b.obtenerValor();}
}
 
public class JavaApplication3 {
 
 
    public static void main(String[] args) {
        B b = new B();
        C c = new C();
        c.setB(b);
    }
 
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

No sé como montarmelo para evitar usar static.

Publicado por Jordi jordidalmaucolell2@hotmail.com (135 intervenciones) el 06/05/2017 00:17:00
Creo entender lo que me dices ¿Te refieres a crear un método get y set para ir pasando de clase en clase el dato? Lo digo porque en caso de una aplicación con decenas de clases veo este procedimiento un poco "engorroso", entonces no sé si exista algun procedimiento a seguir para hacer el paso de datos de una clase a otra distante de una forma un poco más flexible... O si hay alguna forma de estructurar los programas para evitar situaciones en las que haya que hacer pasar un dato por un camino de 5 clases hasta su destino.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

No sé como montarmelo para evitar usar static.

Publicado por Andrés (337 intervenciones) el 06/05/2017 00:21:05
Yep, no es práctico pasar demasiados parámetros a un método, pero... alguien pensó en eso y creo DTO y VO.

https://martinfowler.com/eaaCatalog/dataTransferObject.html

https://martinfowler.com/bliki/ValueObject.html
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Revisar política de publicidad