Einzelnen Beitrag anzeigen

Gonzo2

Registriert seit: 4. Nov 2007
42 Beiträge
 
#5

Re: Fragen zu OOP und Klassen: published, protected, ...

  Alt 23. Nov 2007, 10:45
Interessante Ausführung

Zitat von Phoenix:
1.) Private
Nur sichtbar in der eigenen Klasse (und, aber das finde ich persönlich unschön, in anderen Klassen in der gleichen unit).
Eine abgeleitete Klasse kann auf ein private - Element nicht zugreifen.

2.) Protected
Sichtbar in der eigenen Klasse und in davon abgeleiteten Klassen. Eine Klasse kann also auf ein protected Element der Eltern zugreifen.
Kann ich das jetzt so zusammenfassen, daß der Unterschied zwischen private und protected der ist, daß alles aus private nicht geerbt werden kann und erst mit protected, soweit es sich um nicht öffentliche Elemente handelt, das System der Vererbung greift? Aus private wird nichts geerbt, aus protected wird geerbt? Somit kann ich steuern was mein Nachfahre erben kann und was nicht?

Zitat:
3.) Public
Klar: Das ist öffentlich, da können auch fremde Klassen drauf zugreifen.
Das ist soweit klar. Da hier die Elemente sowieso sichtbar sind, kann hier nichts oder kaum gesteuert werden.

Zitat:
4.) Published
Published = public, und für den Objektinspektor veröffentlicht.
Eigentlich nur dann Sinnig, wenn diese Klasse irgendwie im Objektinspektor verwendet werden soll. Published - Eigenschaften kann man eben dann im Objektinspektor verändern, 'nur' public Eigenschaften nicht.
Der Punkt ist mir noch nicht ganz klar. Ich verstehe das irgendwie mit dem Objektinspektor, aber sehe nicht den großen Sinn darin, da Klassen nicht den OI nutzen. Außer, daß ist im Zusammenhang mit Komponenten gemeint. Komponenten nutzen auch Klassen. Hinter Items von ListBox steht die Klasse TStrings. Somit würde das Ganze wieder einen Sinn ergeben, da hier eine Klasse im Objektinspektor angezeigt wird.

Was mir aber noch nicht ganz klar ist, inwieweit können die published Eigenschaften im OI verändert werden und public nicht? Werden die public Eigenschaften nicht gezeigt oder können sie nicht verändert werden oder fehlen da einige Informationen?

Ich glaube das mit public und published jetzt zumindest ansatzweise verstanden zu haben, aber beherrschen tue ich es noch nicht. Was passiert wenn Items von ListBox public und nicht published ist?
  Mit Zitat antworten Zitat