Je m'efforce généralement de m'assurer que mes instances d'objet respectent le principe de substitution de Liskov, mais je me demande toujours si les gens pensent que le LSP devrait également s'appliquer aux constructeurs ?
J'ai essayé de chercher sur Google mais je n'ai pas pu trouver d'opinions fortes dans un sens ou dans l'autre.
Je tiens à préciser que la plupart de mon codage se fait en Ruby, mais il m'arrive parfois que les constructeurs de mes sous-classes soient légèrement différents de ceux de la classe parente. Ils prennent le même ensemble d'arguments de base, et parfois des arguments supplémentaires. Parfois, cela se produit également avec d'autres méthodes de classe.
Au fond de ma tête, cela m'a toujours semblé être une violation du LSP, mais je voulais savoir si quelqu'un d'autre ressentait la même chose.
5 votes
Je ne comprends pas pourquoi cela est fermé en tant que basé sur l'opinion. LSP est clairement indiqué et ne laisse aucune place à l'interprétation.
0 votes
D'accord, cela ne devrait pas avoir été fermé. Cette question concerne la théorie de l'informatique.