Unterschied Interfaces und abstrakte Klassen? |
24.01.2015, 05:40 | Auf diesen Beitrag antworten » | |||||
Erstsemester | Unterschied Interfaces und abstrakte Klassen? Meine Frage: Hey :-) Ja, die Frage ist: Was ist der Unterschied zwischen Interfaces und abstrakten Klassen? Meine Ideen: Von abstrakten Klassen kann ja kein Objekt erzeugt werden. Interface heißt Schnittstelle. Vielen Dank ;-) |
|||||
|
||||||
24.01.2015, 05:58 | Auf diesen Beitrag antworten » | |||||
Erstsemester | Auch steige ich nicht ganz durch, wie eigentlich Interfaces funktionieren. Habe herausgefunden, dass in Interfaces abstract vor Methoden nicht explizit angegeben werden muss. Interfaces könnten doch zum Beispiel benutzt werden, wenn ich eine Superklasse Ton habe. Als Subklasse könnte Mensch, Tier sein. Mensch würde noch von der Klasse Ton erben, Tier allerdings nicht mehr ( Hier wären dann Interfaces notwendig?) |
|||||
24.01.2015, 08:42 | Auf diesen Beitrag antworten » | |||||
eulerscheZahl | Die Frage kommt mir irgendwie bekannt vor. Karlito hat sich auch schon beantwortet, was mir Schreibarbeit abnimmt |
|||||
24.01.2015, 09:19 | Auf diesen Beitrag antworten » | |||||
Erstsemester | Oh sorry, das war nicht meine Absict, die gleiche Frage zweimal zu stellen. Das hatte ich vollkommen vergessen :-) |
|||||
Anzeige | ||||||
|
||||||
24.01.2015, 09:22 | Auf diesen Beitrag antworten » | |||||
eulerscheZahl | Darfst sie auch gerne ein 3. Mal stellen, wenn es dir immer noch unklar ist |
|||||
24.01.2015, 09:30 | Auf diesen Beitrag antworten » | |||||
Erstsemester | Ok, ich blicke die Interfaces trotzdem nicht. Die folgende Aufgabe: Sortieren Sie eine Schublade mit ca. 10 Socken der Größe nach. Socken sollen eine Farbe (String) und eine Größe (int) besitzen. Außerdem haben Socken das Interface Sortierbar implementiert, das folgendermaßen aussieht: interface Sortierbar { public int istGroesser(Sortierbar element); } Die Methode ist Groesser() gibt eine negative Integer-Zahl, null oder eine positive Integer-Zahl zurück, je nachdem, ob das aktuelle Objekt kleiner, gleich oder größer als das angegebene Objekt ist. Als Sortieralgorithmus verwenden Sie Bubblesort. Schreiben Sie hierzu Ihr Programm aus einer früheren Übungsaufgabe allgemein für Objekte vom Typ "Sortierbar" um. Der Sortieralgorithmus:
|
|||||
24.01.2015, 09:58 | Auf diesen Beitrag antworten » | |||||
eulerscheZahl | Schau mal, ob du es so verstehst, wenn nicht, schreibe ich noch ein paar Zeilen dazu. Habe auch Polymorphie eingebaut.
|
|||||
24.01.2015, 10:05 | Auf diesen Beitrag antworten » | |||||
Erstsemester | Sei bitte so nett und schreibe noch ein paar Zeilen dazu, ich blicke momentan überhaupt nichts. |
|||||
24.01.2015, 10:11 | Auf diesen Beitrag antworten » | |||||
eulerscheZahl | In der main wird eine Array erstellt, das sortiert werden soll: Sortierbar[] objekte = { new Socke(42, "rot"), ...}; Wie du siehst, ist der Typ nicht Socke, sondern Sortierbar. Hier können nämlich auch andere Dinge stehen, die man sortieren kann: Socken und Schuhe haben beide eine Größe, deshalb können sie nach dem selben Kriterium sortiert werden. Das Interface bietet eine Vergleichsfunktion und eine Möglichkeit, den Vergleichswert abzufragen (Sonst ist nicht gewährleistet, dass du Socken nur mit Socken vergleichst - und die Größe des Schuhs ist private, da kommt die Socke sonst nicht ran. Die Socke implementiert die Vergleichsfunktion und sowie die Größenabfrage. Zwecks schönerer Ausgabe habe ich toString auch gleich noch überschrieben. |
|||||
24.01.2015, 10:26 | Auf diesen Beitrag antworten » | |||||
Erstsemester | Vielen Dank auch für diese Antworten. |
|