Implizite und explizite Implementierung von Interfaces in C#: Wann und welche verwenden?
Hallo zusammen! Ich habe gerade angefangen, C# zu lernen und bin auf das Thema Interfaces gestoßen. An sich ist alles klar: Ein Interface ist ein Vertrag, die Klasse implementiert ihn. Aber dann habe ich gesehen, dass Interfaces auf zwei Arten implementiert werden können: implizit (implicit) und explizit (explicit). Und ich bin verwirrt.
Hier ist ein Beispiel:
public interface IWorker
{
void Work();
}
public class Employee : IWorker
{
// Implizite Implementierung
public void Work()
{
Console.WriteLine("Employee works");
}
}
Das funktioniert. Aber ich habe gelesen, dass man es auch so machen kann:
public class Manager : IWorker
{
// Explizite Implementierung
void IWorker.Work()
{
Console.WriteLine("Manager works");
}
}
Und jetzt, wenn ich schreibe:
Manager m = new Manager();
m.Wor