"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

Fifo

aNtraXx 21.06.2005 - 14:34 1740 18
Posts

aNtraXx

trailer park king
Avatar
Registered: Apr 2002
Location: Linz
Posts: 6906
Ich habe folgende Aufgabe:

Zitat
Implementieren Sie eine Queue für eine objektorientierte Umgebung. Die Queue soll ein FIFO-Verhalten besitzen und alle Objekte speicher können, die vom Objekt "object" abgeleitet sind. Es genügen die Methoden Put und Get.

Also wie ich einen "normalen" FIFO schreibe weis ich, da ich ja die Grundfunktion eines FIFO kenne. Allerdings ist mir nicht ganz klar, was mit dieser Aufgabe gemeint ist.

Soll ich in diese Queue irgendwelche Funktionen/Methoden aufnehmen können die von einem Prototyp abgeleitet sind? Also praktisch eine "Todo-List"?

tia Bernhard

mat

Administrator
Legends never die
Avatar
Registered: Aug 2003
Location: nö
Posts: 25423
die queue soll "object"s aufnehmen und abgeben. object ist wahrscheinlich eine abstract class.

kA was eine "todo list" in diesem zusammenhang sein soll :)

ica

hmm
Avatar
Registered: Jul 2002
Location: Graz
Posts: 9820
wo steht was von todo? für mich klingts nach ner queue die einfach put und get zur verfügung stellt - nicht mehr und nicht weniger

Neo-=IuE=-

Here to stay
Registered: Jun 2002
Location: Berndorf, NÖ
Posts: 3232
ja is einfach eine klasse der die abstrakte klasse "objekt" vererbt bekommt, die abhängig davon welche endaufgabe du hast bestimmte datenelemente enthält du sollst nur a queue implementieren also ein objekt was eine funktion put und eine funktion put enthält und vielleicht no anzahl elemente usw.

welche sprache überhaupt?

ica

hmm
Avatar
Registered: Jul 2002
Location: Graz
Posts: 9820
Zitat von Neo-=IuE=-
ja is einfach eine klasse der die abstrakte klasse "objekt" vererbt bekommt

würd ich nicht sagen, die klasse soll objects speichern können und nicht davon ableiten...

und nachdems um object geht tipp ich mal stark auf java?

M.I.P.S.

Big d00d
Avatar
Registered: Mar 2002
Location: On the inside
Posts: 324
Ich schätze mal, du sollst eine Interprozesskommunikation zur Verfügung stellen, mit der du Instanzen der Klasse object (oder einer Subklasse) von einem Prozess zum anderen schicken kannst.
Der Sender stellt mit PUT ein object in die Queue, der Empfänger liest mit GET das object aus der Queue.
Bearbeitet von M.I.P.S. am 21.06.2005, 20:56

t3mp

I Love Gasoline
Avatar
Registered: Mar 2003
Location: upstairs
Posts: 6280
lol, schreib's in Java5 und du hast eine vollautomatische Queue-Implementierung. ;)
Bearbeitet von t3mp am 21.06.2005, 21:09

aNtraXx

trailer park king
Avatar
Registered: Apr 2002
Location: Linz
Posts: 6906
das ganze kann in pseudocode, grafisch oder in einer bevorzugten Sprache gemacht werden. Leider bin ich Java nicht mächtig :).

Also quasi ist das ganze eh nur ein normaler fifo nur halt, dass ich als wert den Zeiger auf eine Klasse / Funktion / Methode etc... eintrage?

quasi fifo(befehl, objekt)
für befehl ein get oder put und für objekt den zeiger.

gue

Addicted
Avatar
Registered: Feb 2003
Location: Linz
Posts: 400
Zitat von aNtraXx
Also quasi ist das ganze eh nur ein normaler fifo nur halt, dass ich als wert den Zeiger auf eine Klasse / Funktion / Methode etc... eintrage?
Nein / Nein / Nein

Offensichtlich sollst du als Wert (den Zeiger auf) Objekte eintragen, die von der Klasse "object" abgeleitet sind.

aNtraXx

trailer park king
Avatar
Registered: Apr 2002
Location: Linz
Posts: 6906
also einen zeiger auf eine memberklasse.
und wozu schreibe ich sowas in einen fifo?

gue

Addicted
Avatar
Registered: Feb 2003
Location: Linz
Posts: 400
Sagen wir, du hast 2 Klassen: Brezel und Semmel. Die beiden sind von object abgeleitet. Nun willst du eine Backofen-Klasse schreiben, die im Grunde eine Fifo ist. Den Backofen willst du aber natürlich nicht nur für Semmeln oder Brezeln bauen, sondern du willst beide reingeben können. Deshalb sagst du einfach, dass der Backofen "object"-Objekte in die Fifo geben will, also die Schnittstellen
Code:
Put(object o)
object Get()
hat.
Dann kannst du ganz leicht sowohl Brezel- also auch Semmel-Objekte reingeben:
Code:
Brezel b1, b2;
Semmel s1, s2;
Backofen ofen = new Backofen();
Object fertigesGebaeck;
b1 = new Brezel(); b2 = new Brezel();
s1 = new Semmel(); s2 = new Semmel();
ofen.Put(b1);
ofen.Put(s1);
ofen.Put(b2);
ofen.Put(s2);
fertigesGebaeck = ofen.Get();
iss(fertigesGebaeck);

mat

Administrator
Legends never die
Avatar
Registered: Aug 2003
Location: nö
Posts: 25423
Zitat von aNtraXx
also einen zeiger auf eine memberklasse.
und wozu schreibe ich sowas in einen fifo?
nein :D

wie wärs mit OO-programmierung lernen?

edit: @gue, fifo backofen :confused: verbrennt da ned alles hinten?! :D

aNtraXx

trailer park king
Avatar
Registered: Apr 2002
Location: Linz
Posts: 6906
Ja Objektorientiere Programmierung hab ich schon mal gelernt ;). Ist schon ein Zeiterl her :).

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
Zitat von mat
edit: @gue, fifo backofen :confused: verbrennt da ned alles hinten?! :D
*trööt* falsch :D ein LIFO (oder FILO :D - kurz Stack) Backofen würde die Brezel verbrennen lassen ;)

mat

Administrator
Legends never die
Avatar
Registered: Aug 2003
Location: nö
Posts: 25423
ja, stimmt schon.. wollt nur das was verbrennt :D
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz