J'ai appris tous ces termes de programmation en suédois alors s'il vous plaît garder avec moi ..Java problème Polymorphisme
Je vais avoir des problèmes appelant une méthode dans une sous-classe qui devrait remplacer une méthode dans la superclasse.
Voici la structure de classe avec le code enlevé:
public interface Movable {
public void move(double delta);
}
public abstract class Unit implements Movable, Viewable{
public void move(double delta){
System.out.println("1");
}
}
public class Alien extends Unit{
public void move(long delta){
System.out.println("2");
}
}
public class Player extends Unit{
public void move(long delta){
System.out.println("3");
}
}
public void main(){
ArrayList<Unit> units = new ArrayList<Unit>();
Unit player = new Player();
Unit alien = new Alien();
units.add(player);
units.add(alien);
for (int i = 0; i < this.units.size(); i++) {
Unit u = (Unit) this.units.get(i);
u.move();
}
}
Ce serait la sortie 1 et 1, mais je veux à la sortie 2 et 3.
Qu'est-ce que je fais mal ? Je pensais que c'était comme ça que ça fonctionnait.
Doh>.
Baversjo