Der Titel ist etwas schräg. Ich weiss leider nicht den Namen für mein Problem. Ich schildere es einmal an einem Beispiel:
Ich habe ein Interface "Geschaeft" und mehrere Klassen
Baeckerei implements Geschaeft
Metzgerei implements Geschaeft
...
Zusätzlich ein Interface "Produkt":
Backware implements Produkt
Schnitzel implements Produkt
Jetzt möchte ich im Interface Geschaeft festlegen, dass die implementierenden Klassen bitteschön eine Methode anbieten müssen, um ihre Produkte zu verkaufen.
Erster Versuch:
Will ich nicht. Die Bäckerei soll sich schon auf Backwaren (und nicht Schnitzel) spezialisieren dürfen, also
Zweiter Versuch:
Backware implementiert zwar Produkt, aber mein Compiler sieht das Interface Geschaeft nun nicht mehr als von der Baeckerei erfüllt an. Gibt es ein Konstrukt a la
??? Würde mich über Antworten freuen!
Ich habe ein Interface "Geschaeft" und mehrere Klassen
Baeckerei implements Geschaeft
Metzgerei implements Geschaeft
...
Zusätzlich ein Interface "Produkt":
Backware implements Produkt
Schnitzel implements Produkt
Jetzt möchte ich im Interface Geschaeft festlegen, dass die implementierenden Klassen bitteschön eine Methode anbieten müssen, um ihre Produkte zu verkaufen.
Erster Versuch:
Code:
Im Interface Geschaeft:
public void verkaufe(Produkt p);
In der Klasse Baeckerei:
public void verkaufe(Produkt p) {
...
}
Zweiter Versuch:
Code:
Im Interface Geschaeft:
public void verkaufe(Produkt p);
In der Klasse Baeckerei:
public void verkaufe(Backware b) {
...
}
Code:
Im Interface Geschaeft:
public void verkaufe(<X implementiert Produkt> p);
??? Würde mich über Antworten freuen!