Hallo, ich habe eine Aufgabenstellung und weis nicht so recht wie ich diese OO gerecht umsetzen soll. Vielleicht könnt ihr mir ein paar Anregungen geben. Also:
Eine Datei enthält einzelne Datensätze mit. Jeder Datensatz enthält die Artikelnummer und eine Artikelgruppe.
Eine Windows-Form soll diese Daten anzeigen, es sollen neue Artikel hinzugefügt und gelöscht werden können. Die Form enthält zwei Listboxen: In der Linken werden die Artikelgruppen und in der rechten die korrespondierenden Artikelnummern angezeigt. Wenn also in der linken Listbox (Artikelgruppen) z.B. Gruppe 26 angewählt wird, sollen in der rechten Listbox alle Artikel die zur Artikelgruppe 26 gehören angezeigt werden.
Eine Besonderheit ist die Artikelgruppe 0. Wenn diese angewählt wird, werden ALLE Artikelnummern in der rechten Listbox angezeigt.
Außerdem gibt es noch die Schaltflächen NEU zum hinzufügen eines Artikels und die Schaltfläche LÖSCHEN, zum löschen eines Artikels.
Bis hierher ist soweit alles klar. Obige Beschreibung soll nur zum besseren Verständnis beitragen.
Wie verwalte ich aber nun die Daten am besten. Ich dachte an folgende Lösung:
Eine Basisklasse C_Group0 enthält eine statische Arraylist, in der ALLE Artikelnummern gespeichert werden. Außerdem sollten noch die Methoden Add und Delete enthalten sein.
Von dieser Basisklasse wird eine Klasse C_GroupX abgeleitet, die ebenfalls eine Arraylist enthält, die aber nicht statisch ist. In der abgeleiteten Klasse werden nur die Artikelnummern einer entsprechenden Gruppe.
Ich erstelle also ein Objekt „group0“ der Klasse C_Group0 sowie weitere 99 Objekte der Klasse C_GroupX. Diese Objekte speichere ich in einem Array.
Angenommen ich will nun einen Artikel aus der Gruppe 26 löschen, sollte es dann so gehen: Array[3].Delete(). Die Delete-Methode löscht den Artikel aus seiner Arraylist. Gleichzeitig löscht sie den Artikel auch aus der statischen Arraylist des Basisobjekts.
Wenn ich aber aus der Gruppe 0 einen Artikel löschen möchte, müsste es umgekehrt sein. Zuerst wird der Artikel aus dem statischen Array des Basisobjekts gelöscht. Anschließend muss der Artikel auch aus dem entsprechenden Gruppenobjekt gelöscht werden. Das bekomme ich aber nicht hin.
Ich hoffe ich konnte mein Anliegen einigermaßen Verständlich erklären. Mich würde interessieren, wie Ihr das anstellen würdet. Besonders sollte das OOP Konzept nicht zu kurz kommen.
Danke schon mal
Eine Datei enthält einzelne Datensätze mit. Jeder Datensatz enthält die Artikelnummer und eine Artikelgruppe.
Eine Windows-Form soll diese Daten anzeigen, es sollen neue Artikel hinzugefügt und gelöscht werden können. Die Form enthält zwei Listboxen: In der Linken werden die Artikelgruppen und in der rechten die korrespondierenden Artikelnummern angezeigt. Wenn also in der linken Listbox (Artikelgruppen) z.B. Gruppe 26 angewählt wird, sollen in der rechten Listbox alle Artikel die zur Artikelgruppe 26 gehören angezeigt werden.
Eine Besonderheit ist die Artikelgruppe 0. Wenn diese angewählt wird, werden ALLE Artikelnummern in der rechten Listbox angezeigt.
Außerdem gibt es noch die Schaltflächen NEU zum hinzufügen eines Artikels und die Schaltfläche LÖSCHEN, zum löschen eines Artikels.
Bis hierher ist soweit alles klar. Obige Beschreibung soll nur zum besseren Verständnis beitragen.
Wie verwalte ich aber nun die Daten am besten. Ich dachte an folgende Lösung:
Eine Basisklasse C_Group0 enthält eine statische Arraylist, in der ALLE Artikelnummern gespeichert werden. Außerdem sollten noch die Methoden Add und Delete enthalten sein.
Von dieser Basisklasse wird eine Klasse C_GroupX abgeleitet, die ebenfalls eine Arraylist enthält, die aber nicht statisch ist. In der abgeleiteten Klasse werden nur die Artikelnummern einer entsprechenden Gruppe.
Ich erstelle also ein Objekt „group0“ der Klasse C_Group0 sowie weitere 99 Objekte der Klasse C_GroupX. Diese Objekte speichere ich in einem Array.
Angenommen ich will nun einen Artikel aus der Gruppe 26 löschen, sollte es dann so gehen: Array[3].Delete(). Die Delete-Methode löscht den Artikel aus seiner Arraylist. Gleichzeitig löscht sie den Artikel auch aus der statischen Arraylist des Basisobjekts.
Wenn ich aber aus der Gruppe 0 einen Artikel löschen möchte, müsste es umgekehrt sein. Zuerst wird der Artikel aus dem statischen Array des Basisobjekts gelöscht. Anschließend muss der Artikel auch aus dem entsprechenden Gruppenobjekt gelöscht werden. Das bekomme ich aber nicht hin.
Ich hoffe ich konnte mein Anliegen einigermaßen Verständlich erklären. Mich würde interessieren, wie Ihr das anstellen würdet. Besonders sollte das OOP Konzept nicht zu kurz kommen.
Danke schon mal
Comment