Discussion:
HA Blatt 6 Klasse Data
(zu alt für eine Antwort)
Alexander Bajic
2006-06-05 17:28:45 UTC
Permalink
Hallo,

ist evtl. ein wenig spät, aber mich würde mal interessieren, wie Ihr Aufgabe
1.1 verstanden habt, denn jetzt wo ich fast fertig bin kommen mir arge
Zweifel. Hieer steht: "Entwerft eine Klasse Data, die das Interface
Comparable implementiert. Objekte dieser Klasse sollen Daten Eurer Wahl
enthalten...." Was bedeutet das jetzt????? Kann ein einziges Objekt einen
array mit werten enthalten?? Oder darf jedes Objekt vom typ Data nur einen
Wert enthalten und ich baue einen Array von Objekten vom Typ Data, die
jeweils einen Wert enthalten??????

Was ich gemacht habe ist, ein Array von Objekten vom Typ Data.... das ist so
doch ein wenig schwerer.... jetzt wo ich die Aufgabe jedoch ein zweites Mal
lese, fange ich an zu zweifeln, ob das richtig ist.

Würde mich freuen, wenn die Aufgaben wenigstens einmal eindeutig
wären!!!!!!!! Es kann doch nicht sein, dass ich die hälfte der Zeit damit
verbringe zu erörtern was der Aufgabensteller da eigentlich verlangt......

Bitte um Antwort.

Gruß

Alex
Wendelin Böhmer
2006-06-05 18:45:52 UTC
Permalink
Post by Alexander Bajic
"Entwerft eine Klasse Data, die das Interface
Comparable implementiert. Objekte dieser Klasse sollen Daten Eurer Wahl
enthalten...." Was bedeutet das jetzt????? Kann ein einziges Objekt einen
array mit werten enthalten?? Oder darf jedes Objekt vom typ Data nur einen
Wert enthalten und ich baue einen Array von Objekten vom Typ Data, die
jeweils einen Wert enthalten??????
Auch ein Array ist ein Objekt. Hält ein Data-Objekt deshalb eine Refernz
auf ein Array, ist dieses sozusagen "innerhalb" des Objekts.
Hier ist aber (glaub ich) gemeint, dass ihr frei seit in Data beliebige
Daten zu packen. Das interessante am Comparable-Interface ist ja, das so
Objekte miteinander verglichen werden können, ohne das so genau zu
wissen was sie enthalten. Sind sie vom gleichen Typ besizten sie auch
die gleiche compareTo-Methode auf der die gleiche Ordnung definiert ist.
Da für Sortieralgorithmen eine Ordnung der Elemente notwendig ist,
lassen sich Data-Objekte sortieren, unabhängig von ihrem Inhalt.
Post by Alexander Bajic
Was ich gemacht habe ist, ein Array von Objekten vom Typ Data.... das ist so
doch ein wenig schwerer.... jetzt wo ich die Aufgabe jedoch ein zweites Mal
lese, fange ich an zu zweifeln, ob das richtig ist.
In Aufgabe 1.2 heisst die Methode:
public static void selectionSort(Comparable[] array)
Das heisst, es wird ein Array vom Typ Comparable übergeben. Comparable
sind alle Typen die das Interface Comparable implementieren, also auch
Data. Ein Array vom Typ Data zu erstellen und ihn an selectionSort zu
übergeben war also richtig.

mfg
Wendelin
Tobias Deichmann
2006-06-07 01:10:02 UTC
Permalink
"Wendelin Böhmer" schrieb...
Post by Wendelin Böhmer
"Entwerft eine Klasse Data, die das Interface Comparable implementiert.
Objekte dieser Klasse sollen Daten Eurer Wahl enthalten...." Was bedeutet
das jetzt????? Kann ein einziges Objekt einen array mit werten
enthalten?? Oder darf jedes Objekt vom typ Data nur einen Wert enthalten
und ich baue einen Array von Objekten vom Typ Data, die jeweils einen
Wert enthalten??????
Auch ein Array ist ein Objekt. Hält ein Data-Objekt deshalb eine Refernz
auf ein Array, ist dieses sozusagen "innerhalb" des Objekts.
Hier ist aber (glaub ich) gemeint, dass ihr frei seit in Data beliebige
Daten zu packen. Das interessante am Comparable-Interface ist ja, das so
Objekte miteinander verglichen werden können, ohne das so genau zu wissen
was sie enthalten. Sind sie vom gleichen Typ besizten sie auch die gleiche
compareTo-Methode auf der die gleiche Ordnung definiert ist.
Da für Sortieralgorithmen eine Ordnung der Elemente notwendig ist, lassen
sich Data-Objekte sortieren, unabhängig von ihrem Inhalt.
Was ich gemacht habe ist, ein Array von Objekten vom Typ Data.... das ist
so doch ein wenig schwerer.... jetzt wo ich die Aufgabe jedoch ein
zweites Mal lese, fange ich an zu zweifeln, ob das richtig ist.
public static void selectionSort(Comparable[] array)
Das heisst, es wird ein Array vom Typ Comparable übergeben. Comparable
sind alle Typen die das Interface Comparable implementieren, also auch
Data. Ein Array vom Typ Data zu erstellen und ihn an selectionSort zu
übergeben war also richtig.
mfg
Wendelin
Ja, wenn er jetzt aber statt einem Array von Data Objekten, welche jeweils
eine der zu sortierenden Informationen enthalten, ein Objekt vom Typ Data
nimmt, welches alle Werte, die er vergleichen will in einem Array in sich
trägt, dann erfüllt sein Objekt Data nicht die Vorgabe, da er ja nicht im
Objekt sortieren kann sondern lediglich die Objekte untereinander.

"Kann ein einziges Objekt einen array mit werten enthalten??"
Antwort:
Jein.
Ein Objekt kann natürlich ein Array mit Werten enthalten, aber für diese
Aufgabe ist es nur dann sinnvoll, wenn die Werte im Array quasi Gruppen
bilden, die du miteinander vergleichen willst. Willst du aber alle Werte
miteinander vergleichen, musst du für jeden Wert ein eigenes Objekt
verwenden.

Lesen Sie weiter auf narkive:
Loading...