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
© Copyright 2024 ExpyDoc