[Précédent]
[Index] | [Enoncé] | [Version imprimable]
[Prochain]

9.4
  Transtypage - Corrigé
Niveau 1
 
 
Fichiers:
  -    

4.1 Debugging

  1. Erreur 1:
  2. Erreur 2:

4.2 Polymorphisme d'inclusion: un peu de pratique

Affectations entre classes

a = b;             // Correct
b = a;             // Faux, B est une sous-classe de A
a = (A)b;          // Correct mais pas nécessaire
a = null;          // Correct
null = a;          // Faux, null n'est pas une variable mais une valeur
a = d;             // Correct
b = d;             // Faux, D n'hérite pas de B
a = e;             // Correct
d = e;             // Correct

La méthode rechercher

static void rechercher(A[] as) {
    int somme = 0;
    for (int i = 0; i < as.length; i++) {
        if (as[i] instanceof B) {
            somme++;
        }
    }
    
    System.out.println("Il y a " + somme + " instances de la classe B");
}

La méthode additionner

static void additionner (A[] as) {
    int somme = 0;
    for (int i = 0; i lt as.length; i++) {
        if (as[i] instanceof D) {
            somme = somme + ((D)as[i]).d;
        }
    }
    System.out.println("Somme des variables d : " + somme);
}

 


[Précédent]
[Index] | [Enoncé] | [Version imprimable]
[Prochain]