Hi,
Sehschwäche? In der Geschwister-Klasse, respektive start, wird die Variable, respektive $a, definiert.
Mach dir bitte erst mal klar, dass die Klasse nur einen Bauplan liefert.
So lange noch keine konkrete Instanz davon erzeugt wurde, gibt es noch gar kein solches $a.
In test() will ich $a verarbeiten.
Dann beantworte, nachdem du dir obiges klar gemacht hast, bitte die Frage: Welches?
Mir ist auch nicht ganz klar wieso $a in meinem Beispiel NULL ergibt.
Weil $a nirgends global definiert ist.$a ist dort wo ich es ausgebe, in bla->test(), global definiert.
Auch an dieser Stelle fehlt dir offenbar noch das grunglegende Verständnis.
Es gibt in deinem Code kein globales $a – also kann das Schlüsselwort global auch kein solches in den aktuellen Scope hinein ziehen, weil es schlicht und einfach nicht existiert.
Für mich klingt es als sollte eine Instanz die andere kennen, damit sie auf die Variablen gegenseitig zugreifen können.
Genau das.
Und wo genau sind bei dir die *Istanzen*?
Wobei ich auch überlegt habe ob ich in der parent-Klasse (foo) den Wert irgendwie speichern kann so, dass alle abgeleiteten Klassen gemeinsam mit dem selben Wert arbeiten/bearbeiten können.
Vielleicht suchst du statische Properties.
Auch bezüglich dieser gilt aber, bitte wieder klar machen – sie werden gemeinhin auch als schlechter Programmierstil angesehen, und sollten höchstens in Ausnahmefällen Anwendung finden.
MfG ChrisB
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?