Mehrere Interfaces mit gleichen Methodennamen [duplizieren]

8

Ich habe eine Klasse, die von zwei verschiedenen Schnittstellen erbt. Beide Schnittstellen deklarieren eine Methode mit demselben Namen. Wie kann ich für jede Schnittstelle eine andere Implementierung bereitstellen?

In C # ist die Antwort vorhanden, aber in Java funktioniert es nicht: Vererbung von mehreren Schnittstellen mit demselben Methodennamen

Ich habe darüber nachgedacht, eine Union-Implementierung bereitzustellen, die einen Typvergleich verwendet, aber es ist irgendwie hässlich.

Danke

BEARBEITEN : geschlossen, meine Frage war ein Duplikat des Folgenden, danke für die Antworten! Java - Methodenname Kollision in der Schnittstellenimplementierung

    
Aurélien Ribon 27.10.2010, 12:45
quelle

2 Antworten

3

Sie können nicht. Schnittstellen beschreiben Verhalten, aber sie implementieren es nicht. Wenn Sie also eine Methode implementieren, können Sie nicht feststellen, von welcher Schnittstelle Sie sie implementieren.

    
Sean Patrick Floyd 27.10.2010 12:48
quelle
0

Nein, in Java gibt es kein gleichwertiges Feature.

Und Sie können es nicht selbst tun, weil Sie innerhalb der Methode nicht wissen können, ob der aufrufende Code das Objekt als InterfaceA oder InterfaceB referenziert. Selbst wenn du könntest, ich denke, es wäre eine schlechte Idee.

    
Mike Baranczak 27.10.2010 12:53
quelle

Tags und Links