QCM de cours du CM6

QCM de cours du CM6
Enseignants CSC4002
CSC 4002
Télécom SudParis
Octobre 2014
QCM de cours du CM6
1
QCM « héritage, paquetage et API »
Instructions. Pour chacune des questions, plusieurs réponses peuvent être correctes, vous pouvez donc
cocher plusieurs cases !
Les questions sont de deux niveaux de difficultés. Le niveau « intermédiaire » est précédé d’une astérisque
(signe « * ».
1. L’affirmation suivante est-elle correcte ? En Java, l’héritage est spécifié avec le mot clef extends suivi d’une liste
de classe de base.
faux
OUI
Justification :
vrai
Java n’accepte que l’héritage simple. Il n’y a donc qu’une classe après le mot clef extends.
NON
Justification :
Java n’accepte que l’héritage simple. Il n’y a donc qu’une classe après le mot clef extends.
2. L’affirmation suivante est-elle correcte ? En Java, toute classe, mis à part la classe java.lang.Object, est une
classe dérivée.
vrai
OUI
Justification :
faux
Sans mot clef extends, la classe hérite de la classe java.lang.Object.
NON
Justification :
Sans mot clef extends, la classe hérite de la classe java.lang.Object.
3. L’affirmation suivante est-elle correcte ? L’instruction « super() ; » appelle le constructeur de la classe de niveau
supérieur dans l’arbre de spécialisation.
vrai
OUI
Cette instruction est similaire à l’instruction « this() ; » à la différence qu’elle appelle le
constructeur de la classe parente sans argument.
Justification :
faux
NON
Cette instruction est similaire à l’instruction « this() ; » à la différence qu’elle appelle le
constructeur de la classe parente sans argument.
Justification :
4. L’affirmation suivante est-elle correcte ? Une référence d’une classe B peut référencer toute instance de la classe
B ou de ses classes dérivées.
vrai
OUI
faux
NON
Justification :
C’est le polymorphisme. C’est un upcast.
5. * L’affirmation suivante est-elle correcte ? Une référence b d’une classe de base B, qui contient la référence d’un
objet d’une classe dérivée D de B, peut être mise dans une variable d de type référence de la classe D à la
condition d’être explicitement transtypée (en anglais, cast) vers le nouveau type (B).
vrai
OUI
Justification :
faux
Il y a besoin de transtypage.
NON
Justification :
Il y a besoin de transtypage.
6. L’affirmation suivante est-elle correcte ? Les membres protected d’une classe de base sont accessibles depuis les
classes enfants.
vrai
OUI
La visibilité protected existe entre les visibilités private (aucune classe n’a accès au
membre) et public (toutes les classes ont accès au membre) pour que les classes dérivées aient accès
au membre.
Justification :
faux
NON
Télécom SudParis — Enseignants CSC4002 — Octobre 2014 — CSC 4002
2
QCM de cours du CM6
La visibilité protected existe entre les visibilités private (aucune classe n’a accès au
membre) et public (toutes les classes ont accès au membre) pour que les classes dérivées aient accès
au membre.
Justification :
7. En Java, il est possible d’utiliser la méthode String toString() sur tous les objets de toutes les classes.
vrai
OUI
Cette méthode est définie dans la classe java.lang.object. Toutes les classes dérivent de
java.lang.Object et disposent donc de cette méthode, comme des méthodes equals et hashcode.
Justification :
faux
NON
Cette méthode est définie dans la classe java.lang.object. Toutes les classes dérivent de
java.lang.Object et disposent donc de cette méthode, comme des méthodes equals et hashcode.
Justification :
8. La classe publique Personne faisant partie du paquetage studs.personne doit se trouver dans un fichier d’une
sous arborescence studs/personne accessible depuis un chemin décrit dans l’environnement de compilation ou
d’exécution de java : CLASSPATH du JDK ou buildpath dans eclipse.
vrai
OUI
Les fichiers sources ou les classes compilées de Java sont trouvées, par le compilateur ou
la machine virtuelle java, à partir d’une liste de chemins et en utilisant les noms de paquetage et le
nom de la classe de manière bijective.
Justification :
faux
NON
Les fichiers sources ou les classes compilées de Java sont trouvées, par le compilateur ou
la machine virtuelle java, à partir d’une liste de chemins et en utilisant les noms de paquetage et le
nom de la classe de manière bijective.
Justification :
9. La classe Personne décrite dans le polycopié page 207 ne nécessite pas de méthode equals car cette méthode
est héritée de la classe Object et son fonctionnement est correct puisque les attributs de la classe personne
présentent un caractère d’unicité du fait de la présence du numéro de sécurité sociale parmi eux.
faux
OUI
La méthode equals de Object offre un service minimum équivalent à l’utilisation de l’opérateur ==. Elle n’offre aucune caractéristique relativement à l’égalité en terme de sens que nous devons
obtenir en comparant les attributs de la classe. Dans ce cas, la méthode doit comparer les numéros
de sécurité sociale de l’objet courant et de l’autre objet.
Justification :
vrai
NON
La méthode equals de Object offre un service minimum équivalent à l’utilisation de l’opérateur ==. Elle n’offre aucune caractéristique relativement à l’égalité en terme de sens que nous devons
obtenir en comparant les attributs de la classe. Dans ce cas, la méthode doit comparer les numéros
de sécurité sociale de l’objet courant et de l’autre objet.
Justification :
10. La définition suivante : Integer i = new Integer(12) ; crée un objet de la classe Integer et initialise la valeur de
son attribut à 12.
vrai
OUI
En effet la classe Integer permet d’encapsuler un attribut de type entier. Elle est la clase
pivôt pour passer d’un entier à une chaîne de caractères et réciproquement.
Justification :
faux
NON
En effet la classe Integer permet d’encapsuler un attribut de type entier. Elle est la classe
pivôt pour passer d’un entier à une chaîne de caractères et réciproquement.
Justification :
Télécom SudParis — Enseignants CSC4002 — Octobre 2014 — CSC 4002
3