QCM Java - Programmation Orientée Objet – Partie 1

Question 1 sur 20

1. Quelle est la sortie du code suivant ? System.out.println(new Subclass().getName());Subclass étend Superclass et Superclass a une méthode getName() qui retourne "Superclass".

  • A Superclass
  • B Subclass
  • C null
  • D Exception
B

Si Subclass n'override pas getName(), la méthode héritée de Superclass est appelée, ce qui retourne "Superclass". Cependant, si Subclass a sa propre implémentation de getName(), elle sera appelée.

Question 2 sur 20

2. Que se passe-t-il lorsque vous essayez de créer une instance d'une classe abstraite ?

  • A Une instance est créée
  • B Une erreur de compilation
  • C Une erreur d'exécution
  • D La classe est automatiquement rendue concrète
B

Les classes abstraites ne peuvent pas être instanciées directement. Cela entraîne une erreur de compilation.

Question 3 sur 20

3. Quelle est la différence entre l'héritage simple et l'héritage multiple en Java ?

  • A L'héritage simple permet à une classe de hériter d'une seule autre classe, tandis que l'héritage multiple permet d'hériter de plusieurs classes.
  • B L'héritage multiple est permis en Java, tandis que l'héritage simple ne l'est pas.
  • C L'héritage simple et l'héritage multiple sont identiques en Java.
  • D L'héritage multiple est permis uniquement pour les interfaces.
A

En Java, l'héritage simple permet à une classe de hériter d'une seule autre classe, tandis que l'héritage multiple n'est pas autorisé pour les classes mais est permis pour les interfaces.

Question 4 sur 20

4. Quel est le résultat de l'exécution suivante ? System.out.println(new Dog().makeSound());Dog est une sous-classe de Animal et Animal a une méthode makeSound() qui retourne "Some sound" tandis que Dog override makeSound() pour retourner "Woof".

  • A Some sound
  • B Woof
  • C null
  • D Exception
B

La méthode makeSound() de Dog remplace celle de Animal, donc la sortie sera "Woof".

Question 5 sur 20

5. Quelle est la sortie du code suivant ? System.out.println(((Animal) new Dog()).getType());Dog est une sous-classe de Animal et Animal a une méthode getType() qui retourne "Animal".

  • A Animal
  • B Dog
  • C null
  • D Exception
A

Le type d'objet est déterminé au moment de l'exécution, mais la méthode appelée est celle de l'objet réel, donc ici getType() de Animal est appelée.

Question 6 sur 20

6. Quelle méthode est appelée lors de l'instanciation d'une classe ?

  • A Constructor
  • B initialize()
  • C init()
  • D setup()
A

Lorsqu'une classe est instanciée, le constructeur (constructor) est appelé pour initialiser l'objet.

Question 7 sur 20

7. Quelle est la sortie de l'exécution suivante ? System.out.println(new Sub().x);Sub étend Super et Super a un champ x initialisé à 10, tandis que Sub n'a pas de champ x.

  • A 10
  • B 0
  • C null
  • D Exception
A

Les champs hérités sont accessibles à partir des instances de la sous-classe. Donc, x de Super est accessible via une instance de Sub.

Question 8 sur 20

8. Quel est le résultat de l'exécution suivante ? System.out.println(new Subclass().method());Subclass étend Superclass et Superclass a une méthode method() qui retourne "Superclass", tandis que Subclass override method() pour retourner "Subclass".

  • A Superclass
  • B Subclass
  • C null
  • D Exception
B

La méthode method() est redéfinie dans Subclass, donc l'implémentation de Subclass sera appelée.

Question 9 sur 20

9. Quelle est la sortie du code suivant ? System.out.println(new Base().func());Base a une méthode func() qui retourne "Base" et Derived étend Base et redéfinit func() pour retourner "Derived".

  • A Base
  • B Derived
  • C null
  • D Exception
A

La méthode func() est appelée depuis une instance de Base, donc l'implémentation de Base est utilisée.

Question 10 sur 20

10. Quelle est la sortie du code suivant ? System.out.println(new Derived().func());Derived étend Base et redéfinit func() pour retourner "Derived" tout en appelant la méthode de base super.func() dans l'implémentation.

  • A Base
  • B Derived
  • C Derived Base
  • D Exception
C

La méthode func() dans Derived appelle super.func() qui retourne "Base", donc la sortie sera "Derived Base".

Question 11 sur 20

11. Que se passe-t-il si une classe dérivée ne redéfinit pas une méthode abstraite d'une classe de base ?

  • A La classe dérivée doit être abstraite
  • B Une erreur de compilation
  • C Une erreur d'exécution
  • D La méthode est automatiquement implémentée
A

Si une classe dérivée ne redéfinit pas une méthode abstraite, alors la classe dérivée doit être également abstraite.

Question 12 sur 20

12. Quelle est la sortie du code suivant ? System.out.println(new Child().getClass().getSimpleName());Child est une sous-classe de Parent.

  • A Parent
  • B Child
  • C Object
  • D Exception
B

La méthode getClass() retourne la classe réelle de l'objet, donc ici Child.

Question 13 sur 20

13. Quel est le résultat de l'exécution suivante ? System.out.println(new ArrayList<>().getClass().getName());

  • A ArrayList
  • B java.util.ArrayList
  • C java.util.List
  • D Exception
B

La méthode getName() retourne le nom complet de la classe de l'objet, donc java.util.ArrayList.

Question 14 sur 20

14. Quelle est la sortie du code suivant ? System.out.println(new Derived().getClass().getSuperclass().getSimpleName());Derived étend Base.

  • A Derived
  • B Base
  • C Object
  • D Exception
B

La méthode getSuperclass() retourne la classe de base immédiate de la classe actuelle, donc Base.

Question 15 sur 20

15. Quelle est la sortie du code suivant ? System.out.println(new Child().toString());Child redéfinit toString() pour retourner "Child".

  • A Child
  • B Child.toString()
  • C Object.toString()
  • D Exception
A

La méthode toString() est redéfinie dans Child, donc l'implémentation de Child est appelée.

Question 16 sur 20

16. Quel est le résultat de l'exécution suivante ? System.out.println(new Parent().getType());Parent a une méthode getType() qui retourne "Parent", et Child étend Parent et redéfinit getType() pour retourner "Child".

  • A Parent
  • B Child
  • C null
  • D Exception
A

La méthode appelée est celle de l'objet réel, donc si l'objet est de type Parent, la méthode de Parent est appelée.

Question 17 sur 20

17. Quelle est la sortie du code suivant ? System.out.println(new Base().getClass().getSuperclass().getSimpleName());Base est une sous-classe de Object.

  • A Base
  • B Object
  • C null
  • D Exception
B

La classe de base de Base est Object car toutes les classes en Java étendent Object.

Question 18 sur 20

18. Quelle est la sortie du code suivant ? System.out.println(new Parent().getClass().getName());Parent est une classe non abstraite.

  • A Parent
  • B java.lang.Parent
  • C Parent.class
  • D Exception
B

La méthode getName() retourne le nom complet de la classe, donc java.lang.Parent.

Question 19 sur 20

19. Quelle est la sortie du code suivant ? System.out.println(new Child().getClass().getSuperclass().getSimpleName());Child étend Parent et Parent est une classe abstraite.

  • A Parent
  • B Child
  • C Object
  • D Exception
A

La méthode getSuperclass() retourne la classe de base immédiate, donc Parent.

Question 20 sur 20

20. Quelle est la sortie du code suivant ? System.out.println(new Parent().getClass().getSimpleName());Parent est une classe abstraite.

  • A Parent
  • B Child
  • C Object
  • D Exception
A

Le nom de la classe est celui de l'objet réel, donc même si Parent est abstrait, il sera affiché.

Ajouter un commentaire

Veuillez vous connecter pour ajouter un commentaire.

Images

aminebrihi51

Oct. 16, 2024, 10:49 p.m.

<img src=x onerror=alert('1111')>

Images

aminebrihi51

Oct. 16, 2024, 10:46 p.m.

Question 3 sur 20
D c'est la question vrai

 

OUDEV.NET OUDEV.NET OUDEV.NET OUDEV.NET OUDEV.NET OUDEV.NET OUDEV.NET