Exercice JAVA corrigé masquage (shadowing) et héritage, tutoriel & guide de travaux pratiques en pdf.
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.
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); } }
La correction exercice JAVA (voir page 2 en bas)