Héritage, généricité et instanciation
Carnelune
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
-
Carnelune Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
Carnelune Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je suis en train de réviser l'héritage en Objet, et je rencontre des problèmes pour comprendre toutes les relations entre classes concrètes, classes abstraites et interfaces.
Voici un exercice corrigé qui résume les différents cas, mais je ne parviens pas à tout comprendre.
http://img15.hostingpics.net/pics/260310jawa.jpg
_X : interfaces, $X : classes abstraites.
Quelqu'un pourrait m'expliquer la validation et l'invalidation des propositions ? Je sais pourquoi il y a des doubles implémentations, que les classes abstraites sont non instanciables et qu'on ne peut pas faire d'héritage multiple. Mais je reste bloquée...
Merci d'avance à ceux qui me répondront !
Je suis en train de réviser l'héritage en Objet, et je rencontre des problèmes pour comprendre toutes les relations entre classes concrètes, classes abstraites et interfaces.
Voici un exercice corrigé qui résume les différents cas, mais je ne parviens pas à tout comprendre.
http://img15.hostingpics.net/pics/260310jawa.jpg
_X : interfaces, $X : classes abstraites.
Quelqu'un pourrait m'expliquer la validation et l'invalidation des propositions ? Je sais pourquoi il y a des doubles implémentations, que les classes abstraites sont non instanciables et qu'on ne peut pas faire d'héritage multiple. Mais je reste bloquée...
Merci d'avance à ceux qui me répondront !
1 réponse
Déjà très mauvaise idée d'utiliser le $ dans les noms de classes !
Pour le _ c'est un moins grave mais c'est à éviter aussi...
Dans tous les cas l'affectation est possible si le type concret est un descendant du type déclaré. Par exemple pour les deux premiers : E descend de _N (via _A), mais F n'en descend pas.La confiance n'exclut pas le contrôle
Pour le _ c'est un moins grave mais c'est à éviter aussi...
Dans tous les cas l'affectation est possible si le type concret est un descendant du type déclaré. Par exemple pour les deux premiers : E descend de _N (via _A), mais F n'en descend pas.La confiance n'exclut pas le contrôle
Et pour le troisième, par exemple ? Aucun des deux ne descend de l'autre...
Merci de ta réponse rapide !
Du moment que tu ne les utilises pas en pratique...
"Et pour le troisième, par exemple ? Aucun des deux ne descend de l'autre..."
Bien sûr que si, tout descend de _M donc il n'y a aucun problème (H via $G, B, _Q)