Existe-t-il une notion de "l'héritage d'interface est l'héritage public, alors que l'héritage d'implémentation est l'héritage privé" en java?
J'ai lu ce poster.
Réponses:
0 pour la réponse № 1J'ai lu le message que vous avez lié. Dans ce billet, Péter Török parle de Héritage privé le suivant:
Cependant, si B hérite en privé de A, Best implémenté en termes de A: seule l'implémentation de A est héritée, pas son interface. Ainsi, les objets B (références / pointeurs) ne peuvent pas être utilisés aux endroits où des objets A sont attendus.
Je ne pense pas qu’il existe une telle chose à Java Héritage privé, du moins dans les termes exprimés ci-dessus.
Donc, après avoir lu le post et vu cela en Java:
- Héritage d'interface est liée aux interfaces et aux classes implémentant ces interfaces, et
- Héritage d'implémentation est liée à la spécialisation de classe
Je pense que ce n'est pas possible le cas où vous créez une classe B
qui implémente une interface A
ou prolonge une classe A
et cette classe B
ne pouvait pas être utilisé comme A
.