d'un point de vue OOP est une différence entre une classe dérivée et une classe héritée? Ou est-ce simplement la terminologie? P>
5 Réponses :
Lorsque vous utilisez l'héritage, la classe héritée s'appelle la classe de base et la classe héritante est appelée la classe dérivée. p>
Changer complètement le texte de votre réponse pour refléter la réponse d'un autre utilisateur n'est pas considéré comme une bonne forme ici.
@Neil: au contraire. Modification de votre réponse pour en faire la meilleure réponse possible est de quoi c'est tout. Bien sûr que la plagiation n'est pas bien, mais je trouve la modification d'une amélioration basée sur votre réponse, pas une copie flagrante, d'autant plus que votre réponse était spécifique C ++ (il n'était pas nécessaire de le rendre spécifique, mais vous l'avez fait.)
@Vinko Il fallait qu'il soit nécessaire de le rendre spécifique - différentes langues utilisent différentes nomenclatures. Par exemple, un programmeur SmallTalk parlait de superclasse et de sous-classe plutôt que de base et dérivé.
@Neil: Eh bien, alors, si vous pensez que vous avez maintenant l'occasion d'améliorer votre réponse et de le rendre meilleur que la réponse basée sur votre propre.
BTW, étant donné la question, je ne pense pas qu'il soit nécessaire d'être spécifique à la langue. La question est au sujet hérité et dérivé et, alors que certaines langues pourraient à l'avant pas utiliser ces termes du tout, je doute qu'il y ait une langue où les termes sont utilisés et représentent des choses différentes. Si cette langue existait, ce serait un ajout digne d'une réponse.
J'ai changé ma réponse parce que je me suis rendu compte que j'avais tort quand j'avais un peu mal pour m'assurer que j'ai écrit une réponse correcte.
Le terme classe dérivée forte> est préféré par le langage C ++ pour une classe qui hérite d'une autre classe, qui dans le langage C ++ est appelé une classe de base
La réponse de Neil m'a confondues un peu, et j'ai donc vérifié quelque Sources publiques < / a>. p>
Considérons une classe de base Donc, à mon avis, les deux termes définissent la même relation entre les classes mais de différentes perspectives. P> Sous-classe prolonge la base de base code> dans la terminologie Java), que P>
Le terme sous-classe n'est pas couramment utilisé dans C ++ - je ne sais pas sur Java - et l'OP n'a pas demandé à ce sujet.
Terminologie d'héritage de Bertran Meyer (construction logicielle orientée objet, p.464): p>
Les termes suivants seront utiles en plus de "héritier" et "parent". em> p>
a descendant fort> d'une classe dans la littérature, vous rencontrerez également les termes "sous-classe" et "superclasse", mais
Nous resterons loin d'eux parce qu'ils sont ambigus; parfois "sous-classe" signifie
héritier (descendant immédiat), parfois il est utilisé dans le sens le plus général du bon
descendant, et ce n'est pas toujours clair qui. De plus, nous verrons que le «sous-ensemble»
La connotation de ce mot n'est pas toujours justifiée. em> p>
Peut-être intéressant, si vous remplacez une méthode, dans DelphI, vous écrivez:
base.BaseImplementation(); // C#
Dupliqué exact de votre question précédente.
@David - merci bien, j'ai supprimé l'autre question, j'ai dû soumettre deux fois ....