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
|
class Tree {
protected String value = null;
private Tree racine = null;
private static String expression;
public Tree() {}
public Tree(String exp) {
racine = createChildren();
}
protected Tree createChildren() {
String tabExp[] = expression.split(" ");
String commande = tabExp[0];
for(int i = 1; i < tabExp.length(); ++i)
expression += tabExp[i]
if(commande.equals('...'))
return new A(expression);
else if(commande.equals('...'))
return new B(expression);
else
return new C();
return null;
}
...
}
// les objets de la classe A n'ont qu'un fils de gauche!
class A extends Tree {
public A(String exp) {
super();
left = createChildren(exp);
}
}
// les objets de la classe B ont 2 fils!
class B extends Tree {
public B() {
super();
left = createChildren();
right = createChildren();
}
}
// les objets de la classe C n'ont pas de fils !
class C extends Tree {
public C() {
super();
}
} |
Partager