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
scroll top