Problème de declaration de tableau

Lili_754 Messages postés 137 Statut Membre -  
KX Messages postés 19031 Statut Modérateur -
Bonjour,

J'ai un petit problème de compréhension pour la déclaration pour ce genre de tableau

Personnage[] tpers = {new A(), new B(), new C(), new D()}

j'ai du mal à dire ce que cela fait en francais :-( si quelqu'un pourrai m'expliquer se serai kool

Merciiiii

1 réponse

KX Messages postés 19031 Statut Modérateur 3 020
 
Regarde (sur internet ou dans tes cours) la définition du polymorphisme.

Je reprends un exemple de l'article de Wikipédia (plus explicite que tes classes A, B, C, D)

abstract class Forme {
   abstract float aire() ;
}
 
class Carre extends Forme {
   float cote;
   float aire() {
       return cote * cote;
   }
}
 
class Cercle extends Forme {
   float rayon;
   float aire() {
       return Math.PI*rayon*rayon;
   }
}

float aireTotal(Forme[] tabl, int nb) {
   float s=0;
   for(int i = 0; i < nb; i++) {
      s += tabl[i].aire(); // le programme sait automatiquement quelle fonction appeler
   }
   return s;
}
 
// ...
Forme[] tableau = { new Carre(), new Cercle(), new Carre() };
aireT = aireTotal(tableau, 3);   //aireT aura été défini comme float
// ...
0