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 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
| import java.util.ArrayList;
import java.util.List;
public class Essai {
private List<Abstraite> list = new ArrayList<Abstraite>();
public static void main(String[] args) {
Essai e = new Essai();
e.affiche();
}
public Essai() {
A a1 = new A("class A - 1");
A a2 = new A("class A - 2");
A a3 = new A("class A - 3");
B b1 = new B("class B - 1");
list.add(a1);
list.add(a2);
list.add(a3);
list.add(b1);
}
public void affiche() {
for (Abstraite a : list) {
if (a instanceof A) {
System.out.println("Classe A:");
System.out.println("\t"+ ((A) a).getMessage());
}
else if (a instanceof B) {
System.out.println("Classe B:");
System.out.println("\t"+ ((B) a).getMessage());
}
}
}
public abstract class Abstraite {
public abstract void setMessage(String s);
public abstract String getMessage();
}
public class A extends Abstraite {
private String message;
public A(String s) {
setMessage(s);
}
@Override
public String getMessage() {
return message;
}
@Override
public void setMessage(String s) {
message = s;
}
}
public class B extends Abstraite {
private String message;
public B(String s) {
setMessage(s);
}
@Override
public String getMessage() {
return message;
}
@Override
public void setMessage(String s) {
message = s;
}
}
} |
Partager