Junior — Middle
Kannst du ein Beispiel für eine Situation geben, in der die Verwendung einer Schnittstelle einen offensichtlichen Nutzen bringt?
sobes.tech KI
Antwort von AI
Interfaces sind nützlich, wenn es notwendig ist, einen gemeinsamen Vertrag für verschiedene Klassen zu definieren, was Polymorphismus ermöglicht und den Austausch von Implementierungen erleichtert.
Beispiel für eine Situation:
Angenommen, Sie haben verschiedene Klassen zum Senden von Benachrichtigungen – per E-Mail, SMS und Push-Benachrichtigungen. Alle sollten eine Methode Send() haben.
public interface INotifier
{
void Send(string message);
}
public class EmailNotifier : INotifier
{
public void Send(string message) {
// E-Mail senden
}
}
public class SmsNotifier : INotifier
{
public void Send(string message) {
// SMS senden
}
}
// Verwendung
void NotifyUser(INotifier notifier, string message) {
notifier.Send(message);
}
Dieser Ansatz ermöglicht es, neue Benachrichtigungsmethoden leicht hinzuzufügen, ohne den Code zu ändern, der sie verwendet, und erleichtert das Testen durch Austausch der Implementierungen.