H´eritage [he]
Exercices de cours
Karine Zampieri, St´ephane Rivi`ere
Unisciel algoprog Version 29 janvier 2017
Table des mati`eres
1 Appr´ehender le cours 2
1.1 Constructeurs ................................. 2
Java - Exercices de cours (Solution)
1
Unisciel algoprog – he00exerc-texte, January 29, 2017 2
1 Appr´ehender le cours
1.1 Constructeurs
Utilise Constructeurs et h´eritage
Dur´ee estim´ee 15 min
Objectif
Cet exercice se focalise sur le comportement des constructeurs.
Classe Premiere @[PremiereC1.java]
On consid`ere la classe de base suivante :
class Premiere
{
public Premiere()
{
System.out.println("Constr Premiere");
}
}
1.1.1 Probl`eme 1
Programme Java @[qzconstr1.java]
class Seconde extends Premiere
{
public Seconde(boolean b)
{
super();
System.out.println("Constr Seconde");
}
}
class Troisieme extends Premiere
{
public Troisieme(int k)
{
super();
System.out.println("Constr Troisieme");
}
}
class Quatrieme extends Premiere
{
public Quatrieme(double d)
{
super();
System.out.println("Constr Quatrieme");
}
}
Unisciel algoprog – he00exerc-texte, January 29, 2017 3
public class QZConstr1 {
public static void main(String[] args) {
Premiere a1 =new Premiere();
Seconde a2 =new Seconde(true);
Troisieme a3 =new Troisieme(15);
Quatrieme a4 =new Quatrieme(12.3);
}
}
Dessinez les relations d’h´eritage entre classes.
Pr´edisez ce qu’affiche le programme.
Compilez et ex´ecutez-le pour v´erifier vos pr´edictions.
Y a-t-il un constructeur qui s’ex´ecute sans afficher de message `a la cr´eation de certains
objets ?
Solution Java
La super-classe Object de Premiere.
1.1.2 Probl`eme 2
Programme Java @[qzconstr2.java]
class Cinquieme extends Premiere
{
public Cinquieme()
{
super();
System.out.println("Constr Cinquieme");
}
}
class Sixieme extends Cinquieme
{
public Sixieme()
{
super();
System.out.println("Constr Sixieme");
}
}
public class QZConstr2 {
public static void main(String[] args) {
Cinquieme a1 =new Cinquieme();
Sixieme a2 =new Sixieme();
}
}
Unisciel algoprog – he00exerc-texte, January 29, 2017 4
Compl´etez les relations d’h´eritage entre classes.
Pr´edisez ce qu’affiche le programme.
Compilez et ex´ecutez-le pour v´erifier vos pr´edictions.
1.1.3 Probl`eme 3
Programme Java @[qzconstr3.java]
class Septieme extends Premiere
{
public Septieme(int i)
{
super();
System.out.println("Constr Septieme");
}
}
class Huitieme extends Septieme
{
public Huitieme()
{
super(0);
System.out.println("Constr Huitieme");
}
}
public class QZConstr3 {
public static void main(String[] args) {
Septieme a1 =new Septieme(5);
Huitieme a2 =new Huitieme();
}
}
Le programme provoque une erreur `a la compilation.
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.
Orientation
La classe Huitieme est incorrecte.
1.1.4 Probl`eme 4
Programme Java @[qzconstr4.java]
class Neuvieme extends Premiere
{
public Neuvieme(int i)
Unisciel algoprog – he00exerc-texte, January 29, 2017 5
{
super();
System.out.println("Constr1 Neuvieme");
}
public Neuvieme(boolean b)
{
super();
System.out.println("Constr2 Neuvieme");
}
}
class Dixieme extends Neuvieme
{
public Dixieme(double d)
{
super(true);
System.out.println("Constr1 Dixieme");
}
public Dixieme(int x,boolean y)
{
super(x);
System.out.println("Constr2 Dixieme");
}
}
public class QZConstr4 {
public static void main(String[] args) {
Dixieme a1 =new Dixieme(10.5);
Dixieme a2 =new Dixieme(45, true);
}
}
Pr´edisez ce qu’affiche le programme.
Compilez et ex´ecutez-le pour v´erifier vos pr´edictions.
1 / 5 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !