Zellteilung

Status
Nicht offen für weitere Antworten.

cr3at0rx

Mitglied
Hallo zusammen,

ich habe vor, eine kleine Anwendung zu schreiben, welche eine Zellteilung simulieren soll.

Dabei soll jede einzelne Zelle ansprechbar sein, jedoch scheiter ich momentan an der Umsetzung.
Ich weiß nicht genau, wie ich diese "Zellteilung" umsetzen soll, dass das Stammobjekt gelöscht wird und zwei neue entstehen, die ebenfalls die selbe Prozedur durchlaufen.

Ich habe da an eine Klasse gedacht, die ein Array zurückliefert, jedoch scheitere ich dabei auch an der Umsetzung, da ich aus keinem Zellobjekt ein Array machen kann.

Über geistliche Anregungen würde ich mich freuen
 

Andreas29

Bekanntes Mitglied
Hi,

also, wenn ich es richtig verstehe, möchtest Du eine Klasse "Cell" haben, die eine Methode "divide" hat, mit der sich das this-Objekt in zwei unterschiedliche neue "Cell"-Objekte teilt.

Ich würde es so machen, dass ich mir alle meine Cell-Instanzen in einer Liste (LinkedList) merke und die divide-Methode liefert mir zwei neue Cell-Instanzen zurück (dafür kannst du dir eine eigene Klasse schreiben, die als member lediglich zwei Cell Instanzen hat).

Die Logik, diese Methode aufzurufen und anschließend das Objekt (also die Zelle, die sich geteilt hat) zu vernichten, würde ich in einer weiteren separaten Klasse auslagern. Diese Klasse kann dann auch später weitere Logik (z.B. Benachrichtigung von Listener-Klassen) übernehmen.

Hoffe, Dir ein wenig weitergeholfen zu haben. Falls du schon ein bisschen Source hast, poste ihn hier mal, damit wir mehr dazu sagen können.

Grüße,
Andreas
 

cr3at0rx

Mitglied
Danke für die Antwort.
Einen Sourcecode habe ich noch nicht, da ich mir erst mal Gedanken bezüglich der Umsetzung gemacht hatte.

Im Ansatz hast du mir schon sehr gut weitergeholfen, jedoch bin ich leider noch nicht auf dem Level, um dir ganz folgen zu können.
Zunächst stellt sich mir die Frage, wie ich zwei Instanzen zurück liefere, außer in einem Array(falls du das ohnehin nicht gemeint hast)?

Auch ist mir das Vernichten des Objekts noch unklar.
 

Marco13

Top Contributor
Das Zurückliefern von zwei Instanzen würde mit einem Array gehen - oder einer Liste. Das "Vernichten" bezog sich wohl nur darauf, die Zellen aus der Datenstruktur zu löschen, wo sie drin liegen. GROB könnte das z.B. dann so aussehen
Code:
List<Cell> divideAll(List<Cell> before)
{
    List<Cell> result = new ArrayList<Cell>();
    for (Cell cell : before)
    {
        List<Cell> divided = cell.divide();
        result.addAll(divided);
    }
    return result;
}
d.h. man wirft eine Liste von Cells rein, und bekommt die Liste der geteilten Cells zurück. Aber da gibt's viele, viele, viele Alternativen...
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben