Fifo

Seite 1 von 2 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/fifo_144467/page_1 - zur Vollversion wechseln!


aNtraXx schrieb am 21.06.2005 um 14:34

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 schrieb am 21.06.2005 um 15:29

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 schrieb am 21.06.2005 um 15:59

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=- schrieb am 21.06.2005 um 19:13

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 schrieb am 21.06.2005 um 19:18

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. schrieb am 21.06.2005 um 20:53

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.


t3mp schrieb am 21.06.2005 um 20:56

lol, schreib's in Java5 und du hast eine vollautomatische Queue-Implementierung. ;)


aNtraXx schrieb am 22.06.2005 um 08:43

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 schrieb am 22.06.2005 um 11:33

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 schrieb am 22.06.2005 um 11:51

also einen zeiger auf eine memberklasse.
und wozu schreibe ich sowas in einen fifo?


gue schrieb am 22.06.2005 um 12:15

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 schrieb am 22.06.2005 um 12:16

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 schrieb am 22.06.2005 um 12:48

Ja Objektorientiere Programmierung hab ich schon mal gelernt ;). Ist schon ein Zeiterl her :).


watchout schrieb am 22.06.2005 um 15:17

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 schrieb am 23.06.2005 um 00:03

ja, stimmt schon.. wollt nur das was verbrennt :D




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2026