Quiz: Maîtrise de l'héritage, des classes et interfaces — 10 domande

Domande e risposte dettagliate

1. Quel est le rôle principal des modificateurs de visibilité (public, protected, private, package-private) dans la gestion de l'héritage et de l'accès aux membres d'une classe en Java?

Contrôler l'accessibilité des champs et méthodes depuis d'autres classes ou sous-classes.
Définir le comportement par défaut des méthodes lors de l'héritage.
Optimiser la performance du code en limitant l'accès aux membres.
Sécuriser le code en empêchant toute modification des membres après compilation.

Contrôler l'accessibilité des champs et méthodes depuis d'autres classes ou sous-classes.

Spiegazione

Les modificateurs de visibilité en Java contrôlent l'accessibilité des champs et méthodes. 'public' permet l'accès depuis n'importe quelle classe, 'protected' depuis le même package ou sous-classe, 'private' limite l'accès à la classe elle-même, et le package-private (absence de modificateur) limite l'accès au même package. Cela influence directement la visibilité et l'héritabilité des membres.

2. Quel mot-clé en Java indique qu'une classe dérive d'une autre, héritant ses propriétés?

implements
extends
inherits
derives

extends

Spiegazione

Le mot-clé 'extends' en Java indique qu'une classe hérite d'une autre. Les autres options ne sont pas utilisés en Java pour cette fonction.

3. Qu'est-ce que l'héritage et l'extension ('estensione') en programmation orientée objet ?

Une technique pour encapsuler des données privées dans une classe.
Une méthode pour créer des copies exactes d'objets en mémoire.
Un mécanisme permettant à une classe d'acquérir les champs et méthodes d'une autre classe, utilisant la syntaxe 'extends'.
Un processus pour convertir des objets en chaînes de caractères pour l'affichage.

Un mécanisme permettant à une classe d'acquérir les champs et méthodes d'une autre classe, utilisant la syntaxe 'extends'.

Spiegazione

L'héritage est un mécanisme qui permet à une classe (sous-classe) d'acquérir les champs et méthodes d'une autre classe (super-classe), en utilisant la syntaxe 'extends' en Java. Cela favorise la réutilisation du code et la spécialisation des classes.

4. Quelle est la caractéristique principale d'une classe déclarée avec le mot-clé 'final' en Java?

Elle peut être subclassée
Elle ne peut pas être étendue ou modifiée
Elle est abstraite
Elle doit contenir au moins une méthode finale

Elle ne peut pas être étendue ou modifiée

Spiegazione

Une classe 'final' ne peut pas être étendue, c'est-à-dire qu'elle ne peut pas avoir de subclasses, empêchant ainsi toute extension.

5. En quoi la déclaration d'une classe `final` diffère-t-elle de la notion d'immutabilité d'un objet ?

Une classe `final` est toujours immuable, mais un objet immuable n'est pas nécessairement dans une classe `final`.
Une classe `final` ne peut pas être étendue, mais ses objets peuvent être modifiés si leurs champs ne sont pas `final`.
Une classe `final` ne peut pas être étendue, tandis que l'immutabilité concerne la capacité d'un objet à ne pas changer après sa création.
Une classe `final` garantit que ses objets sont immuables, mais l'immutabilité ne concerne pas la classe elle-même.

Une classe `final` ne peut pas être étendue, tandis que l'immutabilité concerne la capacité d'un objet à ne pas changer après sa création.

Spiegazione

La classe `final` empêche l'héritage, ce qui limite la possibilité de modifier la conception ou le comportement par extension. L'immutabilité, en revanche, concerne l'état d'un objet : un objet immuable ne peut pas changer après sa création, indépendamment de la classe. La distinction est donc que `final` concerne la structure de la classe (empêche l'héritage), tandis que l'immutabilité concerne la stabilité de l'état de ses instances.

6. Selon la conception orientée objet en Java, quels membres d'une classe ne sont pas hérités par une sous-classe?

Les méthodes 'public',' protected'
Les méthodes 'private'
Les méthodes 'default' (package-private)
Les méthodes 'final'

Les méthodes 'private'

Spiegazione

Les membres 'private' d'une classe ne sont pas accessibles ni hérités par ses sous-classes, contrairement aux 'public', 'protected' et 'default'.

7. Que permet la méthode 'super()' dans une sous-classe Java?

D'appeler la méthode 'super' de la superclasse
D'appeler le constructeur de la superclasse
De définir une nouvelle superclasse
De rendre la classe finale

D'appeler le constructeur de la superclasse

Spiegazione

'super()' est utilisé pour appeler explicitement le constructeur de la superclasse, souvent pour initialiser ses membres.

8. Quelle caractéristique distingue une méthode abstraite dans une classe abstraite en Java?

Elle a une implémentation par défaut
Elle doit contenir du code à l'intérieur
Elle n'a pas d'implémentation et doit être redéfinie dans la sous-classe
Elle ne peut pas être surchargée

Elle n'a pas d'implémentation et doit être redéfinie dans la sous-classe

Spiegazione

Une méthode abstraite n'a pas d'implémentation dans sa classe abstraite et doit être implémentée par toutes les subclasses concrètes.

9. Selon la relation entre interface et classe en Java, quelle affirmation est vraie?

Une classe peut implémenter plusieurs interfaces
Une interface peut étendre plusieurs classes
Une classe peut hériter directement d'une interface
Une interface définit l'implémentation des méthodes

Une classe peut implémenter plusieurs interfaces

Spiegazione

En Java, une classe peut implémenter plusieurs interfaces, ce qui permet de suivre plusieurs contrats en même temps.

10. Quel est l'effet du binding dynamique en Java?

Il détermine la méthode à appeler au moment de la compilation
Il permet la sélection de la méthode à exécuter au moment de l'exécution en fonction du type de l'objet réel
Il optimise la compilation du code
Il force l'utilisation de méthodes non redéfinies

Il permet la sélection de la méthode à exécuter au moment de l'exécution en fonction du type de l'objet réel

Spiegazione

Le binding dynamique en Java permet de décider, au moment de l'exécution, quelle version d'une méthode sera appelée, ce qui est essentiel pour le polymorphisme.

Ripassa con le flashcard

Memorizza le risposte con 10 flashcard su Maîtrise de l'héritage, des classes et interfaces.

Héritage — principe ?

Une classe acquiert champs et méthodes d'une autre.

Ereditarietà — définition?

Superclasse transmet ses champs/méthodes à sous-classe.

Visibilité — public ?

Accessible depuis n'importe quelle classe.

Vedi le flashcard →

Studia la scheda di revisione

Leggi la scheda di revisione completa su Maîtrise de l'héritage, des classes et interfaces.

Vedi la scheda di revisione →

Similar courses

Crea i tuoi quiz

Importa il tuo corso e l'AI genera quiz con correzioni in 30 secondi.

Generatore di quiz