C#, ein Interface, zwei verschiedene Implementierungen:

internal interface IDataAccessArticles
{
    ArticleCollection GetArticlesByCategoryID(int categoryID);
}

internal class DataAccessArticlesMySql : IDataAccessArticles
{
    public ArticleCollection GetArticlesByCategoryID(int categoryID)
    {
        throw new System.NotImplementedException();
    }
    ArticleCollection IDataAccessArticles.GetArticlesByCategoryID(int categoryID)
    {
        throw new System.NotImplementedException();
    }
}

Jetzt kann man sich, vor allem wenn man bisher wenig bis gar nicht mit Interfaces gearbeitet hat, die Frage stellen - wozu es jetzt die zwei verschiedenen Arten der Implementierung gibt. Die Antwort ist einfach:

Implementiert eine Klasse verschiedene (beliebig viele) Interfaces, die wiederum gleich benannte Member besitzen, so kann man damit zwei Wege gehen: entweder man implementiert den Member einmal für beide (mehrere) Schnittstellen, oder man implementiert ihn für jede Schnittstelle explizit, also mehrfach - wenn er z.B. jeweils eine unterschiedliche Funktion hat.

Mehr Informationen.

Dein Kommentar