heriter d'une classe abstraite
Salut à tous,
j'ai utilisé dans mon exemple une Interface,une classe abstraite,deux classes Golf5 et Polo6 qui heritent de cette dernière et une classe main.
Je veux afficher l'attribut age de ces deux dernieres classes en utilisant la classe abstraite.
l'affichage doit etre 13 et 6 mais il affiche 0 et 0
Si vous pouvez m'aider ...
voici mon code
Code:
1 2 3 4 5 6
|
public interface VoitureImp {
public void demarrer();
public void arreter();
public void reparer();
} |
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
public abstract class VoitureAbstr implements VoitureImp {
public int age;
public abstract void arreter();
public abstract void demarrer();
public abstract void reparer();
} |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
public class Polo6 extends VoitureAbstr{
public int age=13;
public void arreter() {
System.out.println("Voiture Polo6 va s'arreter");
}
public void demarrer() {
// TODO Auto-generated method stub
System.out.println("Voiture Polo va demarrer");
}
public void reparer() {
// TODO Auto-generated method stub
System.out.println("reparer la voiture Polo6");
}
} |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
import java.lang.Comparable;
import java.util.ArrayList;
public class Golf5 extends VoitureAbstr implements Comparable{
public int age=6;
public void demarrer()
{
System.out.println(" Voiture Golf5 va demarrer");
}
public void arreter(){
System.out.println("Voiture golf5 va s'arreter");
}
public void reparer(){
}
} |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
import java.util.Comparator;
public class ComparatorVoitue implements Comparator {
public int compare(Object o1, Object o2) {
// TODO Auto-generated method stub
// if(((Golf5)o1).age > ((Polo6)o2).age) return 1;
// else if (((Golf5)o1).age == ((Polo6)o2).age) return 0;
// else return (-1);
if(((VoitureAbstr)o1).age > ((VoitureAbstr)o2).age) return 1;
else if (((VoitureAbstr)o1).age == ((VoitureAbstr)o2).age) return 0;
else return (-1);
}
} |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
|
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.Iterator;
public class VoituresUtiles2 {
public void reparerVoiture(VoitureAbstr v ){
v.reparer();
}
public void arreterVoiture(VoitureAbstr v ){
v.arreter();
}
public int getAgeVoiture(VoitureAbstr v){
return v.age;
}
public static void main(String args[]){
ArrayList list = new ArrayList();
list.add(new Polo6());
list.add(new Golf5());
Comparator c = new ComparatorVoitue();
Collections.sort(list, c);
Iterator it = list.iterator();
while(it.hasNext())
System.out.println("age des voitures"+(((VoitureAbstr)it.next()).age));
//for(int i = 0 ; i <list.size();i++ )
// System.out.println(list.size());
}
} |
merci d'avance