Interface-Vererbung und Implementierung

Papuerus

Aktives Mitglied
Folgendes Problem:
Wir haben die Aufgabe bekommen eine Klasse SteelFactory die ein Interface Enterprise implementieren muss.
Das stellt alles kein Problem da, und alles was notwendig war habe ich implementiert bis auf folgendes:

Das Interface Enterpirce erbt vom Interface Comparable<T>

sieht wie folgt aus:
Java:
public interface Enterprise extends Comparable<Enterprise>{
...
}

jetzt sollen wir also

Java:
public class Steelfactory implements Enterprise{

...
}

hier muss ich jetzt compareTo implementieren

ich soll die Anzahl der Arbeiter vergleichen, die sind in einem Worker[] Array gespeichert
also anzhal bekomme ich mit

[c]worker.length[/c]

jetzt muss ich dem comparableTo aber ein Enterprise übergeben
was in meinen Augen total SInnfrei ist da Enterprise ja ein Interface ist und man doch aber ein Objekt übergeben muss

denn meine Idee war
[Java]
@Override
public int compareTo( ????????? o){
double myMembers = this.worker.lenth;
double otherMembers = o.worker.kength;

if myM > othM
return 1
if myM < othM
return -1

retun 0

}
[/code]

wir dürfen aber am Interface Enterprise nichts verändern und nun habe ich keine Ahnung wie man das realisieren muss
 
Zuletzt bearbeitet:

eRaaaa

Top Contributor
was in meinen Augen total SInnfrei ist da Enterprise ja ein Interface ist und man doch aber ein Objekt übergeben muss

Naja aber du kannst ja dann eben ein Objekt der Klasse die das Interface implementiert übergeben, in deinem Fall also auch Steelfactory-Objekte! Deine ???? musst du schon mit Enterprise ersetzen.

/edit letzte Satz hat kein Sinn gemacht
 
Zuletzt bearbeitet:

XHelp

Top Contributor
Enterprise passt schon. Du übergibst nicht das Interface, sondern eine Instanz vom Typ Enterprise. Allerdings kannst du dann nicht auf
Code:
.worker
zugreifen, was auch Sinn macht, denn das stellt dein Interface nicht zur Verfügung. Dafür sollten aber die Getter vorhanden sein.
 

Papuerus

Aktives Mitglied
Welches Array?

Wenn ich Enterprise durch SteelFactory ersetze kommt eine Fehlermeldung von Eclipse:"The method compareTo(SteelFactory) of type SteelFactory must override or implement a supertype methode"

PS: ich hab @Override oben noch ergänzt
 

Papuerus

Aktives Mitglied
Ok, was ist ein Getter?

Edit: ok hat sich denke ich erledigt, ich habe es jetzt mit

[c]o.getWorkerCounter();[/c]

Edit2: Und danke für die schnelle Hilfe :)
 
Zuletzt bearbeitet:

Neue Themen


Oben