Héritage
L'héritage simple en Java : super-classe et sous-classe, la relation « est un », les membres hérités et protected, l'appel super(…) et l'ordre des constructeurs, la classe racine Object.
- 25 cartes
- 4 thèmes
- Gratuit
Le programme, thème par thème
Le poids de chaque thème suit celui que lui donne l'examen.
- Notions
- Questions
- Ranger et relier
- Mises en situation
Quelques cartes du deck
Héritage : de quoi s'agit-il ?
Voir la réponse
Mécanisme par lequel une classe reprend les attributs et les méthodes d'une autre, qu'elle peut compléter ou modifier.
Il évite de recopier du code commun :
Chien extends Animaldonne à Chien tout ce que fait Animal, et Chien n'écrit que ce qui lui est propre.Qu'affiche l'exécution de
new Chiot();?
```java
class Animal {
Animal() { System.out.println("Animal"); }
}
class Chien extends Animal {
Chien() { System.out.println("Chien"); }
}
class Chiot extends Chien {
Chiot() { System.out.println("Chiot"); }
}`Animal,Chien,ChiotChiot,Chien,AnimalChiotseulementAnimal,Chiot
Voir la réponse
Animal,Chien,ChiotChaque constructeur commence par appeler celui de sa parente, implicitement par
super(). L'exécution remonte jusqu'à la racine, puis les corps s'exécutent de la plus générale à la plus spécialisée.En Java, une classe déclare sa classe parente avec le mot-clé … et ne peut en avoir qu'… seule.
Voir la réponse
En Java, une classe déclare sa classe parente avec le mot-clé extends et ne peut en avoir qu'une seule.
C'est l'héritage simple. Pour reprendre plusieurs contrats, une classe peut en revanche implémenter plusieurs interfaces.
Super-classe : de quoi s'agit-il ?
Voir la réponse
Classe dont une autre dérive, et dont celle-ci reprend les membres accessibles.
On dit aussi classe parente ou classe mère. Dans
class Chien extends Animal, Animal est la super-classe : elle ignore tout de Chien.Pour réutiliser son stockage, un développeur veut faire hériter la classe Pile de la classe Tableau. Que lui répondre ?
- Java interdit d'hériter d'une classe qui sert de stockage interne
- Une pile n'est pas un tableau : elle doit en contenir un, pas en hériter
- L'héritage n'est possible qu'à partir d'une classe abstraite
- Une sous-classe ne peut pas ajouter de méthodes à celles de son parent
Voir la réponse
Une pile n'est pas un tableau : elle doit en contenir un, pas en hériter
Hériter, c'est dire « est un » : la Pile hériterait de l'accès par indice, qui casse son principe dernier entré, premier sorti. Réutiliser du code se fait par composition : un attribut de type Tableau.