Héritage, généricité et instanciation
                    
        
     
             
                    Carnelune
    
        
    
                    Messages postés
            
                
     
             
            5
        
            
                                    Statut
            Membre
                    
                -
                                     
Carnelune Messages postés 5 Statut Membre -
        Carnelune Messages postés 5 Statut Membre -
        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)