Question 1
Voici un programme qui illustre le comportement des constructeurs avec des appels au constructeur de la super-classe (super). Ce programme se focalise sur les constructeurs, il n’y a rien d’autre dans les classes.
1 |
class Premiere { |
1. dessinez le graphe d’héritage de ce programme, retraçant les relations d’héritage entre classes sans
oublier Object, la super-classe de Premiere.
2. prédisez ce que ce programme affiche.
3. compilez et exécutez ce programme pour vérifier vos prédictions.
4. y a-t-il un constructeur qui s’exécute sans afficher de message à la création de certains objets ?
Question 2{sidebar id=8}
1 |
class Cinquieme extends Premiere { |
1. prédisez ce que ce programme affiche.
2. compilez et exécutez ce programme pour vérifier vos prédictions.
Question 3
Le programme suivant provoque une erreur à la compilation : la classe Huitieme est incorrecte
1 |
class Septieme ext nds Premiere { |
Essayez de trouver l’erreur. Si vous n’y arrivez pas, essayez de compiler ce programme : le message
d’erreur peut vous mettre sur la voie.
Question 4{sidebar id=1}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
class Neuvieme extends Premiere { Neuvieme ( i n t i ) { Terminal.ecrireStringln ( " premier constructeur de Neuvieme " ) ; } Neuvieme ( boolean b ) { Te rminal.ecrireStringln(" second constructeur de Neuvieme " ) ; } } class Dixieme extends Neuvieme { Dixieme ( double d ) { super ( t rue ) ; Terminal . ecrireStringln ( " premie rconstructeur de Dixieme " ) ; } Dixieme ( int x , boolean y ) { super ( x ) ; Terminal . ecrireStringln ( " second constructeur de Dixieme " ) ; } } class Exo19_1_4{ public static void main ( [ ] args ) { new Dixieme ( 1 0 . 5 ) ; Terminal . ecrireStringln ( "=============================" ) ; new Dixieme ( 4 5 , true ) ; }} |
1. prédisez ce que ce programme affiche.
2. compilez et exécutez ce programme pour vérifier vos prédictions.