Imaginez une classe de base avec de nombreux constructeurs et une méthode virtuelle
public class Foo
{
...
public Foo() {...}
public Foo(int i) {...}
...
public virtual void SomethingElse() {...}
...
}
et maintenant, je veux créer une classe descendante qui remplace la méthode virtuelle:
public class Bar : Foo
{
public override void SomethingElse() {...}
}
Et un autre descendant qui fait un peu plus de choses:
public class Bah : Bar
{
public void DoMoreStuff() {...}
}
Dois-je vraiment copier tous les constructeurs de Foo dans un Bar et Bah? Et puis si je change une signature du constructeur Foo, dois-je le mettre à jour dans un Bar et Bah?
Il n'y a pas moyen d'accéder à des constructeurs? Il n'y a pas moyen d'encourager la réutilisation du code?