Zitat von
thkerkmann:
also du hast dir ja was dabei gedacht, die Klasse3 in eine eigene
Unit zu stecken, oder ?
Ja, ich dachte mir einfach nur: Neue Klasse, dann nehm ich auch ne neue
Unit Ist vielleicht die falsche Denkweise. Klasse1 und 2 hab ich in eine
Unit gesteckt, weil Klasse2 als einzige Eigenschaft einen array of Klasse1 hat.
Zitat von
Muetze1:
Warum hast du die Dinge im private Abschnitt definiert, wenn du sie doch von außen zugreifbar benötigst? Du könntest nun entweder die Daten in den Public Bereich verschieben oder mit Properties arbeiten, welche dir die Möglichkeit bieten die Private Elemente nach außen sichtbar zu machen und gleichzeitig dir alle Möglichkeiten zur Kontrolle der Zugriffe zu geben.
Aber wenn ich sie public deklariere, wären sie ja auch für Form1 sichtbar. Das sollen sie eigentlich nicht.
Zitat von
Muetze1:
Warum sind die Daten private, müssen sie private sein, wenn ja, warum musst du dann mit Klasse3 drauf zugreifen?
Das ganze soll ein Spiel werden. Klasse1 ist ein Spielball. Klasse2 sind alle Spielbälle (array of Klasse1). Aus Form1 wird nie direkt auf Klasse1 zugegriffen, sondern immer nur auf Klasse2, da die Aktionen immer mit allen Bällen gleich durchgeführt werden. Klasse1 hat deswegen nur Private-Elemente.
Klasse3 ist die Umgebung. In ihr wird gespeichert, wo z.B. Wände sind, gegen die die Spielbälle nicht prallen dürfen. In Klasse3 stehen die Kollisionsüberprüfungsmethoden. Um nach einer Kollision zu prüfen, muss Klasse3 die Koordinaten der Spielbälle kennen. Form1 braucht diese allerdings nicht zu kennen, deswegen sind sie im Private-Abschnitt deklariert.