Java - Accedes a un objeto u otro bajo condicion

 
Vista:

Accedes a un objeto u otro bajo condicion

Publicado por statham (1 intervención) el 02/10/2020 09:59:52
Tengo algo asi:
1
2
3
4
5
6
7
8
9
10
11
objetoCocheA a
objetoCocheB b
 
if(tipoCoche == 1)
	add(a.pieza1)
	add(a.pieza2)
	add(a.pieza3)
else
	add(b.pieza1)
	add(b.pieza2)
	add(b.pieza3)


Depende del tipo de coche cogemos uno u otro, tienen el mismo nombre de piezas pero las piezas para cada coche un valor diferente,
por no poner un if y las 200 piezas que tiene y un else por si es el otro coche y poner otras 200 piezas (y sin tener en cuenta que hay muchos tipos de coche)

2 objetos con mismas variables pero con diferente valor

Y quiero algo asi:

1
2
3
4
5
6
7
8
if(tipoCoche == 1)
	objetoCocheA a
else
	objetoCocheB a
 
	add(a.pieza1) --> para el CocheA pieza1 vale por ejemplo 80 y para CocheB 500, pero se llaman ambas pieza1
	add(a.pieza2)
	add(a.pieza3)
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
Imágen de perfil de Rodrigo
Val: 2.041
Plata
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Accedes a un objeto u otro bajo condicion

Publicado por Rodrigo (623 intervenciones) el 02/10/2020 10:39:25
Necesitaria un poco mas de explicacion para poder realmente ayudar.

Pregunta:

Las clases ObjetoClaseA y ObjetoClaseB estan relacionadas de alguna manera?
Implementan la misma interfaz?

Si puedes hacer que ambas implementen una interfaz y que esta tenga los metodos pieza1() pieza2() etc.
entonces puedes hacer algo como

1
2
3
Interfaz obj = (tipoCoche == 1) ? a : b;
add(obj.pieza1());
add(obj.pieza2());
...

etc.
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