Professional Documents
Culture Documents
this.modelo = modelo;
this.color = color;
this.potencia = potencia;
}
public abstract void mostrarCaracteristicas()
}
public class ScooterElectricidad extends Scooter
{
public ScooterElectricidad(String modelo, String color,
int potencia)
{
super(modelo, color, potencia);
}
public void mostrarCaracteristicas()
{
System.out.println("Scooter electrica de modelo: " +
modelo + " de color: " + color +
}
Ahora podemos introducir la interfaz FabricaVehiculo y sus dos clases de
implementacin, una para cada familia (elctrico/gasolina). Es fcil darse cuenta
de que slo las clases de implementacin utilizan las clases concretas de los
vehculos.
public interface FabricaVehiculo
{
Automovil creaAutomovil(String modelo, String color,
int potencia, double espacio);
Scooter creaScooter(String modelo, String color, int
potencia);
}
public class FabricaVehiculoElectricidad implements
FabricaVehiculo
{
public Automovil creaAutomovil(String modelo, String
color, int potencia, double espacio)
{
return new AutomovilElectricidad(modelo, color,
potencia, espacio);
}
public Scooter creaScooter(String modelo, String
color, int potencia)
{
return new ScooterElectricidad(modelo, color,
potencia);
}
}
public class FabricaVehiculoGasolina implements
FabricaVehiculo
{