0% ont trouvé ce document utile (0 vote)
15 vues5 pages

Révision Java : Concepts clés et exercices

Transféré par

Amira Trabelsi
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
15 vues5 pages

Révision Java : Concepts clés et exercices

Transféré par

Amira Trabelsi
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Université de Tunis El Manar

Institut supérieur d’informatique 2 ème Computer Science


Département Génie Logiciel Programmation Orientée Objet

Série TD Complémentaire Java

QCM
1. Quel est l’avantage principal de l’utilisation de paquetages en Java ?
— Réduire la complexité des classes en regroupant des classes connexes.
— Améliorer les performances du programme en accélérant l’exécution.
— Simplifier la syntaxe de déclaration des variables.
— Limiter l’accès aux méthodes publiques des classes.

2. Qu’est-ce qu’un constructeur de classe en Java ?


— Une méthode spéciale qui est appelée lors de la création d’une nouvelle instance de la classe.
— Une méthode utilisée pour détruire une instance de la classe.
— Une méthode utilisée pour initialiser les variables locales dans une classe.
— Une méthode réservée pour les opérations de conversion de types.

3. Que fait l’opérateur new en Java ?


— Il crée une nouvelle variable.
— Il initialise une méthode.
— Il alloue de l’espace mémoire pour un nouvel objet.
— Il détruit un objet existant.

4. Qu’est-ce qu’un attribut statique en Java ?


— Un attribut partagé par toutes les instances d’une classe.
— Un attribut spécifique à chaque instance d’une classe.
— Un attribut qui ne peut pas être modifié après sa création.
— Un attribut qui n’est accessible que dans le même package

5. Quel est l’effet de la modification d’un attribut statique par une instance de classe ?
— Aucun effet.
— Modification de la valeur pour toutes les instances de la classe.
— Modification de la valeur uniquement pour l’instance concernée.
— Génération d’une erreur de compilation.

6. Que représente "this" en Java ?


— Un mot-clé pour définir les boucles.
— Un mot-clé utilisé pour créer de nouvelles instances.
— Une référence à l’instance courante de la classe.
— Une méthode prédéfinie pour les opérations mathématiques.

7. Comment "this" est-il utilisé dans un constructeur de classe ?


— Pour déclarer une nouvelle instance de la classe.
— Pour appeler un autre constructeur de la même classe.

1
Université de Tunis El Manar
Institut supérieur d’informatique 2 ème Computer Science
Département Génie Logiciel Programmation Orientée Objet

— Pour accéder à des méthodes d’une classe différente.


— Pour appeler une méthode de la classe parente

8. Quelle est la principale restriction concernant l’utilisation de méthodes statiques en Java ?


— Elles ne peuvent pas être appelées depuis une autre classe.
— Elles ne peuvent pas accéder à des membres non statiques de la classe.
— Elles ne peuvent pas être surchargées.
— Elles ne peuvent pas être déclarées dans une classe abstraite

9. Qu’est-ce qui ne fait pas partie de l’héritage en Java ?


— Constructeurs
— Méthodes
— Variables d’instance
— Interfaces

10. Quelle est la différence entre "super" et "this" en Java ?


— "super" est utilisé pour appeler des méthodes de la classe parente, tandis que "this" est utilisé pour appeler des
méthodes de la classe courante.
— "super" est utilisé pour appeler des méthodes de la classe courante, tandis que "this" est utilisé pour appeler des
méthodes de la classe parente.
— "super" est utilisé pour créer une nouvelle instance de la classe parente, tandis que "this" est utilisé pour créer
une nouvelle instance de la classe courante.
— Il n’y a pas de différence entre "super" et "this" en Java.

11. Peut-on avoir plusieurs constructeurs dans une même classe ?


— Oui, à condition qu’ils aient des signatures différentes.
— Non, une classe ne peut avoir qu’ ;un seul constructeur.
— Oui, mais seulement si l’un d’eux est privé.
— Non, les constructeurs doivent être définis dans des classes différentes.

12. Quel est le rôle principal du mot-clé this en Java ?


— Se référer à la classe parente.
— Se référer à l’objet courant.
— Se référer à une classe statique.
— Se référer à la méthode actuelle.

13. Que signifie le mot-clé static lorsqu’il est appliqué à un attribut en Java
— L’attribut appartient à une instance de la classe.
— L’attribut appartient à la classe elle-même, et non à une instance.
— L’attribut ne peut pas être modifié.
— L’attribut doit être privé.

14. Qu’est-ce que le polymorphisme en Java ?


— La capacité d’une méthode à être remplacée dans une sous-classe.

2
Université de Tunis El Manar
Institut supérieur d’informatique 2 ème Computer Science
Département Génie Logiciel Programmation Orientée Objet

— La capacité d’une méthode à fonctionner de manière unique en fonction de l’objet qui l’appelle.
— La capacité d’une variable à prendre plusieurs formes.
— La capacité d’une classe à hériter de plusieurs classes.

15. Quel mot-clé est utilisé pour indiquer qu’une classe hérite d’une autre en Java ?
— implements
— extends
— inherits
— super

16. Que se passe-t-il si une classe hérite d’une autre sans redéfinir ses méthodes ?
— Les méthodes de la classe parente ne sont pas accessibles.
— Les méthodes de la classe parente sont automatiquement accessibles dans la classe fille.
— La classe fille ne peut pas être instanciée.
— Les méthodes de la classe fille doivent être redéfinies.

17. Quelle est la relation correcte entre une classe parente et une classe fille ?
— Une classe parente peut hériter d’une classe fille.
— Une classe fille peut hériter de plusieurs classes parentes.
— Une classe parente peut avoir plusieurs classes filles.
— Une classe fille doit avoir exactement une classe parente.

18. Que se passe-t-il si une classe fille possède un constructeur vide, mais la classe parente n’a pas de constructeur sans
argument ?
— Il y aura une erreur de compilation.
— Le constructeur par défaut de la classe parente sera appelé.
— La classe fille utilisera un constructeur par défaut.
— Le constructeur de la classe fille sera ignoré.

19. Quel est le rôle du mot-clé super() dans le constructeur d’une classe fille ?
— Il permet d’initialiser les attributs de la classe fille.
— Il appelle le constructeur de la classe parente.
— Il appelle une méthode de la classe parente.
— Il permet de créer une nouvelle instance de la classe fille.

20. Une classe fille peut-elle accéder aux attributs privés de sa classe parente ?
— Oui, directement.
— Non, jamais.
— Oui, mais seulement via des méthodes de la classe parente.
— Oui, si la classe parente a utilisé le mot-clé protected.

21. Que signifie l’héritage en Java ?


— Reprendre le code source d’une autre classe.
— Partager l’implémentation d’une classe avec une autre.

3
Université de Tunis El Manar
Institut supérieur d’informatique 2 ème Computer Science
Département Génie Logiciel Programmation Orientée Objet

— Créer une nouvelle classe à partir d’une classe existante.


— Ajouter de nouvelles méthodes à une classe existante.

22. Quel type de relation est représenté par l’héritage en Java ?


— A un (Has-a)
— Est un (Is-a)
— Utilise (Uses)
— Implémente (Implements)

Problème
On souhaite créer un système de réservation de vols pour une compagnie aérienne.

1. Créer la classe Passager qui possède trois attributs privés : un nom (String), un prénom (String) un numéro de pas-
seport (un entier long), un attribut statique nbPassager (int). Ajouter les méthodes suivantes :
— Un constructeur avec paramètres
— Une méthode getNumP() qui retourne le numéro du passeport
— Une méthode statique pour afficher nombre de passagers instanciés
— Un destructeur

2. Créer la classe Aéroport qui possède deux attributs privés : un code (String), un nom (String). Ajouter les méthodes
suivantes :
— Un constructeur avec paramètres

3. Créer la classe Vol qui possède cinq attributs privés : un numéro (String), un aéroport de départ (Aeroport), un
aéroport d’arrivée (Aeroport), une capacité maximale de passagers (int) et une liste de passagers (ArrayList). Ajouter
à cette classe :
— Un constructeur avec paramètres
— Une méthode getNumVol() qui retourne le numéro du vol
— Une méthode ajouterPassager(Passager p) qui ajoute un passager à un vol.
— Une méthode supprimerPassager(long passport) qui supprime un passager
— Une méthode getPlacesDisponibles() qui retourne le nombre de places disponibles pour un vol

4. Créer la classe compagnie aérienne qui possède deux attributs privés : un nom (String) et une liste de vols (ArrayList).
Ajouter les méthodes suivantes :
— Un constructeur avec paramètre
— Une méthode ajouterVol(Vol v) qui ajoute un vol pour une compagnie
— Une méthode rechercherVol(String numero) qui affiche le nombre de places disponibles pour le numéro du vol.
Sinon elle affiche le message « pas de vol ».
— Une méthode statique comparerCompagnies(. . . ) pour comparer deux compagnies aériennes. Elle retourne le
nom de la compagnie qui a assuré le nombre maximal de vols. C’est à vous de déterminer les paramètres de cette
méthode.

5. Créer une classe de test qui permet :

4
Université de Tunis El Manar
Institut supérieur d’informatique 2 ème Computer Science
Département Génie Logiciel Programmation Orientée Objet

— Créer deux objets passagers.


— Afficher le nombre de passagers
— Créer deux objets aéroports.
— Créer un objet vol.
— Créer deux compagnies aériennes.
— Ajouter le vol à une compagnie aérienne créée.
— Comparer les deux compagnies créées

Vous aimerez peut-être aussi