Ejercicio:
El objetivo, es realizar el código java del diagrama que figura a continuación. Los métodos, salvo aquellos de la agregación, pueden contener solo la firma, no hace falta la lógica.

Respuesta
by Charli QuirogaClase Vehículo
import java.util.List;
public abstract class Vehiculo implements Desplazable {
private double velocidadPromedio;
private int velocidadMaxima;
private List ruedas;
public Vehiculo() {
super();
}
public double getVelocidadPromedio() {
return velocidadPromedio;
}
public void setVelocidadPromedio(double velocidadPromedio) {
this.velocidadPromedio = velocidadPromedio;
}
public int getVelocidadMaxima() {
return velocidadMaxima;
}
public void setVelocidadMaxima(int velocidadMaxima) {
this.velocidadMaxima = velocidadMaxima;
}
public List getRuedas() {
return ruedas;
}
public void setRuedas(List ruedas) {
this.ruedas = ruedas;
}
public void agregarRueda(Rueda rueda) {
if(!ruedas.contains(rueda))
ruedas.add(rueda);
}
public boolean quitarRueda(Rueda rueda) {
return ruedas.remove(rueda);
}
public abstract void romperInercia();
}
Interfaz Desplazable
public interface Desplazable {
public abstract void esquivarObstaculo();
}
Clase Rueda
public class Rueda {}
Clase Barco
public abstract class Barco extends Vehiculo{}
Clase Auto
public abstract class Auto extends Vehiculo{
public static final int N_RUEDAS = 4;
}
Clase Moto
public abstract class Moto extends Vehiculo {
public static final int N_RUEDAS = 2;
public void esquivarObstaculo() {}
}
Clase Boing747
public class Boing747 extends Vehiculo{
private static int viajes;
@Override
public void romperInercia() {}
@Override
public void esquivarObstaculo() {}
public static int getViajes() {
return viajes;
}
public static void setViajes(int viajes) {
Boing747.viajes = viajes;
}
public void despegar() {}
public void aterrizar() {}
public static void agregarViaje() {}
}
Clase BarcoAVela
public abstract class BarcoAVela extends Barco {}
Clase FordFalcon
public class FordFalcon extends Auto {
@Override
public void romperInercia() {}
@Override
public void esquivarObstaculo() {}
}
Clase HondaXR600
public class HondaXR600 extends Moto {
@Override
public void romperInercia(){}
@Override
public void esquivarObstaculo(){}
}
Clase HondaXR25
public class HondaXR25 extends Moto{
@Override
public void romperInercia(){}
public void esquivarObstaculo(int metros){}
}
Más info sobre Diagramas de Clases en la etiqueta Diseño
2 comentarios:
amigo postea la respuesta ace falta:P
Hola amigo, este es un ejercicio teórico, no busca ser ejecutable. La logica de cada uno de los metodos no tiene importancia, si no mas bien la estructura donde dicha logica va a ser contenida. Saludos
Publicar un comentario