Voici un pseudo-code pour illustrer ce que je regarde.Héritage et classes dans les classes
public class Loader
{
public Execute()
{
var currentPage = new ItemPageDocumentBuilder();
while(reader.Read())
{
currentPage.Add(reader.XmlDoc);
}
}
private class ItemsToLoad
{
private XmlDocument _page
public void Add(XmlElement itemelement)
{
_page.DocumentElement.AppendChild(itemElement);
}
}
}
J'ai besoin de dériver une classe de chargeur, puis remplacer la méthode Add de la classe ItemsToLoad à l'intérieur, puis appelez base.Execute(). En d'autres termes, je veux que la méthode Execute() de ma classe dérivée soit exactement la même que celle de Loader, mais utilise la méthode Add substituée de ItemsToLoad pour son travail.
Je pense que la façon la plus simple de faire cela serait de supprimer ItemsToLoad de l'intérieur de Loader, et de le rendre abstrait, correct?
Si je ne pouvais pas faire cela, par intérêt, quelle est la meilleure solution?
Vous pouvez également injecter un composant ItemLoader dans Loader au lieu d'utiliser une classe interne privée. –