Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Héritage...

4 réponses
Avatar
Olivier
Bonjour,

N'étant pas encore vraiment à l'aise avec l'héritage, j'aurais voulu savoir
si il y avait des régles à respecter lorsque que l'on hérite d'un objet
existant dans le JDK (Un "JButton" par exemple). Pour les constructeurs,
faut-il écrire un constructeur fils pour chaque père ? Le simple fait de
s'occuper de "public JButton()" suffit-il ?

Mon code doit être mis avant ou après le "super()" ? Est-il vraiment
nécessaire ?

4 réponses

Avatar
Olivier
Grand merci pour ton aide.

Tout dépend ce que tu veux faire de ton objet. S'il ne sert qu'a toi, tu
n'as pas besoin de surcharger tous les constructeurs, ceux que tu
utilises suffiront.


ça veut dire qu'il faut tous les surcharger si on les utilise tous, c'est
bien ça ?

Avatar
Kupee
Olivier wrote:
N'étant pas encore vraiment à l'aise avec l'héritage, j'aurais voulu savoir
si il y avait des régles à respecter lorsque que l'on hérite d'un objet
existant dans le JDK (Un "JButton" par exemple). Pour les constructeurs,
faut-il écrire un constructeur fils pour chaque père ? Le simple fait de
s'occuper de "public JButton()" suffit-il ?


Tout dépend ce que tu veux faire de ton objet. S'il ne sert qu'a toi, tu
n'as pas besoin de surcharger tous les constructeurs, ceux que tu
utilises suffiront.

Mon code doit être mis avant ou après le "super()" ? Est-il vraiment
nécessaire ?


Lors d'un héritage un constructeur appelle nécéssairement un
constructeur de la même classe, soit un de la classe parente (donc on
finit toujour sur la classe parente).
tu n'es pas obligé d'écrire l'appel a super() car si tu ne le met pas il
est ajouté automatiquement par le compilateur.
Si tu fais explicitement l'appel au constructeur parent, ton code doit
se trouver après cet appel (ce n'est pas nécéssairement super() ca peut
etre super(toto,tata) pour appeler le constructeur ayant les paramètres
qui te plaisent)

Avatar
Kupee
Olivier wrote:
Tout dépend ce que tu veux faire de ton objet. S'il ne sert qu'a toi, tu
n'as pas besoin de surcharger tous les constructeurs, ceux que tu
utilises suffiront.



ça veut dire qu'il faut tous les surcharger si on les utilise tous, c'est
bien ça ?


A priori oui moins de faire un truc genre
public MonBouton(String label) {
super();
setText(label);
}


Avatar
captainpaf
"Olivier" a écrit dans le message de news:
c638jg$crr$
Bonjour,

N'étant pas encore vraiment à l'aise avec l'héritage, j'aurais voulu
savoir

si il y avait des régles à respecter lorsque que l'on hérite d'un objet
existant dans le JDK (Un "JButton" par exemple). Pour les constructeurs,
faut-il écrire un constructeur fils pour chaque père ? Le simple fait de
s'occuper de "public JButton()" suffit-il ?

Mon code doit être mis avant ou après le "super()" ? Est-il vraiment
nécessaire ?


Salut,


si tu créer une class qui hérite de JButton, c'est que tu lui ajoutes des
fonctionnalitées (sinon, la class JButton aurait suffit).
Au niveau de la surcharge des constructeurs, tout dépend si dès la création
de l'object tu dois initialiser des attributs faisant partie de ces
nouvelles fonctionnalitées. Si tu dois effectivement le faire, tu peux
ajouter ton code dans le constucteur sans paramètre de ta class. Après, il
te suffit de surcharger les autres constructeurs et de seulement ajouter
l'instruction this(); dans chacun d'entre eux.
Mais il n'y a pas de réponse toute faite, tout dépend de tes besoin, il te
suffit de bien comprendre le mécanisme d'appelle des class, après tout se
passera forcément bien.