
Untitled
By: a guest on
Jun 10th, 2012 | syntax:
None | size: 0.58 KB | hits: 15 | expires: Never
// Avant
public double getSpeed(Vehicule vehicule) {
switch(vehicule.type) {
case Camion:
return getBaseSpeed() * loadFactor();
break;
case Avion:
return getBaseSpeed() - windDragVector();
break;
case Moto:
default:
return getBaseSpeed();
break;
}
}
// Après
public abstract class Vehicule() {
protected abstract double getSpeed();
}
public class Camion extends Vehicule {
protected double getSpeed() {
return getBaseSpeed() * loadFactor();
}
}
public class Avion extends Vehicule { }
public class Voiture extends Vehicule { }