Vous êtes sur la page 1sur 5

L3 SPI- Documents non autorisés

Septembre 2011

Examen de rattrapage
Programmation orientée objet sous Java

3 heures
Mohand-Yazid SAIDI

Rappels et conseils
– Documents non autorisés. Seuls les supports de cours sont autorisés (pas de supports de TP).
– Répondre aux questions d’une manière claire et concise.
– Soignez le code.

Question de cours
Question 1 (1 point) Citez trois avantages de la programmation orienté objet. Expliquez.

Question 2 (1 point) Si A est une classe de base à la classe B, indiquez si les propositions suivantes sont
correctes ou fausses.
1. la classe A hérite de la classe B,
2. si a est une variable de type A [] et si b est une variable de type B [] alors on peut affecter à a la
valeur de b (c’est à dire, on pourra exécuter l’instruction a = b),
3. si a est une variable de type A et si b est une variable de type B alors on peut affecter à a la valeur
de b (c’est à dire, on pourra exécuter l’instruction a = b),
4. si a est une variable de type A et si b est une variable de type B alors on peut affecter à b la valeur
de a (c’est à dire, on pourra exécuter l’instruction b = a).

Question 3 (1 point) Indiquez


1. si i est une variable de type int [] et si d est une variable de type double [], est-il possible d’affecter
à d la valeur de i (en d’autres termes, l’instruction d = i est-elle valide ?),
2. si i est une variable de type int et si d est une variable de type double, est-il possible d’affecter à d
la valeur de i (en d’autres termes, l’instruction d = i est-elle valide ?).

Question 4 (1 point) Est-il possible d’instancier (créer un objet) une classe ne contenant que des construc-
teurs privés ? si oui, dans quels cas ? si non, pourquoi ?

Documents non autorisés 1 Examen


L3 SPI Septembre 2011

Classes et héritage
Question 5 (5 point) Créez une classe Etudiant disposant de :
– trois attributs privés : numéro d’étudiant (numEtud) de type int, nom (nom) et prénom (prenom)
de type String. Pensez à déclarer un champ static privé appelé numero de type int.
– un constructeur Etudiant (nom, prénom) permettant d’initialiser les trois attributs numEtud,
nom et prenom de la classe Etudiant.
NB. Pour assurer l’unicité des numéros d’étudiants, l’attribut numEtud doit être initialisé en exécutant
l’instruction suivante dans le constructeur :
numEtud = numero++ ;
– trois méthodes d’accès aux attributs (toutes public) de la classe Etudiant (getNumEtud(), get-
Nom(), getPrenom())
– une méthode abstraite public String getSpecialite()
Créez maintenant une sous-classe EtudiantSPI dérivant de la classe Etudiant telle que :
– EtudiantSPI implémente la méthode public String getSpecialite() qui doit retourner la chaı̂ne
“Sciences pour l’Ingénieur”.
– EtudiantSPI définisse un nouvel attribut privé specialite de type String,
– EtudiantSPI définisse un constructeur public EtudiantSPI (nom, prenom, specialite).

Polymorphisme
Question 6 (6 points) Pour chacune des six dernières instructions de la méthode main () de la figure 1,
indiquez l’affichage obtenu sur la console. Si l’instruction provoque une erreur de compilation, signalez-le et
passez à l’instruction suivante.

Interface graphique
Question 7 (5 points) Complétez le code suivant (figure 2) de telle sorte à obtenir l’affichage illustré sur
la figure 3.

– Chaque fois que le bouton Augmenter est actionné, le compteur est incrémenté (le label affiche
l’ancienne valeur + 1).
– Chaque fois que le bouton Diminuer est actionné, le compteur est décrémenté (le label affiche l’an-
cienne valeur - 1).
– Chaque fois que le bouton Remettre à zéro est actionné, le compteur est remis à zéro.

Documents non autorisés 2 Examen


L3 SPI Septembre 2011

Figure 1 – Exemple d’application du polymorphisme.

Documents non autorisés 3 Examen


L3 SPI Septembre 2011

Figure 2 – Code de l’interface Compteur.

Documents non autorisés 4 Examen


L3 SPI Septembre 2011

Figure 3 – Aperçu de l’interface Compteur.

Documents non autorisés 5 Examen

Vous aimerez peut-être aussi