Substitution de Liskov et classes abstraites / modèle de stratégie
https://softwareengineering.stackexchange.com/questions/178886
Question
J'essaie de suivre le LSP dans la programmation pratique. Et je me demande si différents constructeurs de sous-classes le violent. Ce serait formidable d'entendre une explication au lieu de simplement oui / non. Merci beaucoup!
Ps si la réponse est no
, Comment faire différentes stratégies avec des contributions différentes sans violer le LSP?
class IStrategy
{
public:
virtual void use() = 0;
};
class FooStrategy : public IStrategy
{
public:
FooStrategy(A a, B b) { c = /* some operations with a, b */ }
virtual void use() { std::cout << c; }
private:
C c;
};
class BarStrategy : public IStrategy
{
public:
BarStrategy(D d, E e) { f = /* some operations with d, e */ }
virtual void use() { std::cout << f; }
private:
F f;
};
Pas de solution correcte
Licencié sous: CC-BY-SA avec attribution
Non affilié à softwareengineering.stackexchange