Java - Pasar una serie de métodos como argumento a otro método

   
Vista:

Pasar una serie de métodos como argumento a otro método

Publicado por Erich (1 intervención) el 12/01/2016 22:55:20
Hola
Pues estoy atorado en un programa que estoy haciendo, resulta que necesito (?) un método que sea capaz de aplicar una serie de características a un vehículo, las cuales solo se aplican con métodos. Lo muestro mas claramente a continuación:
1
2
3
4
aplicarCaracteristicas(new Vehicle(), setColor(0, 0), setNumberPlate("458-500"));//Número indefinido de argumentos que serán parámetros, el new Vehicle es solo para el ejemplo, este método lo usaré en varias partes con autos ya creados.
    public void aplicarCaracteristicas(Vehicle idAuto, Vehicle caracteristicas){
 
    }
(Vehicle es una interfaz, lo he intentado hacer con clases anónimas o algo así pero igual no consigo hacerlo, y usando lambda? no entiendo lo suficiente y se me complica mucho)
Como ven necesito pasar varios métodos (que ya vienen definidos en una API) para aplicarle la características a un vehículo. Esto pude haberlo hecho con un método que defina ya cuales características se aplicarán como:
1
2
3
4
5
6
autoCreado.aplicarCaracteristicas();
public void aplicarCaracteristicas(){
    idAuto.setNumerPlate("105-ASD");
    idAuto.setColor(0, 0);
    idAuto.setPos(10, 10, 10);
}
Pero creo que en POO no se debe hacer, si no hacer cosas abstractas, soy nuevo en esto de la POO por eso pregunto como podría pasar esos métodos como argumentos a otro método o hacerlo de la manera fácil (pero mala?)
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

Pasar una serie de métodos como argumento a otro método

Publicado por arck (145 intervenciones) el 13/01/2016 13:11:06
Creo que se te esta complicando, pero a ver si esto te sirve.

http://stackoverflow.com/questions/4685563/how-to-pass-a-function-as-a-parameter-in-java
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