Exercices JAVA Exercice JAVA masquage (shadowing) et héritage

Exercice JAVA masquage (shadowing) et héritage

Index de l'article
Exercice JAVA masquage (shadowing) et héritage
Corrigé
Toutes les pages
But:
Indiquer l'affichage du programme. Attention aux situations de masquage.
Thème:
Masquage (Shadowing), Héritage
Fichiers:
Alphabet.java

Vous trouverez ci-dessous le programme Alphabet qui implémente la hiérarchie de 3 classes (A, B et C). Indiquez l'affichage du programme (sans l'exécuter). Attention aux situations de shadowing.

 

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
class Alphabet {
    public static void main(String args[]) {
        A[] as = new A[3];
        as[0] = new A(1);
        as[1] = new B(2);
        as[2] = new C(3);
 
        for (int i = 0; i < as.length; i++) {
            as[i].afficherClasse();
            System.out.println("-----");
        }
 
        for (int i = 0; i < as.length; i++) {
            as[i].afficherVariables();
            System.out.println("-----");
        }
    }
}
 
class A {
    protected int a = 5;
 
    public A(int a) {
        this.a = a;
    }
 
    public void afficherClasse() {
        System.out.println("Classe A");
    }
 
    public void afficherVariables() {
        System.out.println("a = " + a);
    }
}
 
class B extends A {
    protected int b = 6;
 
    public B(int b) {
        super(2 * b);
        a = b;
    }
 
    public void afficherClasse() {
        super.afficherClasse();
        System.out.println("Classe B");
    }
 
    public void afficherVariables() {
        super.afficherVariables();
        System.out.println("b = " + b);
    }
}
 
class C extends B {
    protected int b = 7;
    protected int c = 8;
 
    public C(int c) {
        super(3 * c);
        b = c;
    }
 
    public void afficherClasse() {
        super.afficherClasse();
        System.out.println("Classe C");
    }
 
    public void afficherVariables() {
        super.afficherVariables();
        System.out.println("c = " + c);
    }
}

 



Ajouter un Commentaire