Questions marquées «inheritance»

33
Pourquoi les constructeurs ne sont-ils pas hérités?

Je ne comprends pas ce que pourraient être les problèmes si un constructeur était hérité d'une classe de base. Cpp Primer Plus dit: Les constructeurs diffèrent des autres méthodes de classe en ce qu'ils créent de nouveaux objets, alors que d'autres méthodes sont appelées par des objets existants ....

32
Est-ce que “Parent x = nouvel enfant ();” au lieu de “Enfant x = nouvel enfant ();” est une mauvaise pratique si nous pouvons utiliser ce dernier?

Par exemple, j'avais vu des codes créer un fragment comme celui-ci: Fragment myFragment=new MyFragment(); qui déclare une variable sous la forme Fragment au lieu de MyFragment, lequel MyFragment est une classe enfant de Fragment. Je ne suis pas satisfait de cette ligne de codes car je pense que ce...

30
Dois-je tester des méthodes héritées?

Supposons que j'ai un gestionnaire de classe dérivé d'un employé de classe de base et que l'employé ait une méthode getEmail () héritée par le gestionnaire . Dois-je tester que le comportement de la méthode getEmail () d'un manager est en fait le même que celui d'un employé? Au moment où ces tests...

19
Comment le renforcement des conditions préalables et l'affaiblissement des post-conditions violent-ils le principe de substitution de Liskov?

J'ai lu que le principe de substitution de Liskov est violé si: Les conditions préalables sont renforcées, ou Les postconditions sont affaiblies Mais je ne sais pas encore comment ces deux points violeraient le principe de substitution de Liskov. Quelqu'un peut-il expliquer avec un exemple. Plus...

19
Pourquoi Bertrand Meyer pense-t-il (/ pensait-il) que le sous-classement est le seul moyen d'étendre un module «fermé»?

Dans Meyer Travaux logiciel orienté objet (1988) , il définit le principe ouvert / fermé les suivants: Un module sera dit ouvert s'il est toujours disponible pour extension. Par exemple, il devrait être possible d'ajouter des champs aux structures de données qu'il contient ou de nouveaux éléments à...

19
Héritage vs mixins dans les langages dynamiques?

Quand devriez-vous préférer les modèles d'héritage aux mixins dans les langages dynamiques? Par mixins, j'entends un véritable mixage, comme lors de l'insertion de fonctions et de membres de données dans un objet lors de l'exécution. Quand utiliseriez-vous, par exemple, l'héritage prototypique au...