Hallo!
Ich habe eine Klasse mit einem Property "Data".
Eine zweite Klasse erbt von der ersten und hat ein paar weitere Porperties die im Endeffekt auf das Data Property der Basisklasse gemappt sind.
Nun möchte ich aber, das in der zweiten Klasse das "Data" Property nicht nach außen sichtbar ist. Wie erreiche ich sowas? (An der Basisklasse möchte ich nur sehr ungern was verändern)
Geht nicht, man kann Klassen durch Vererbung immer nur erweitern, nicht einschränken.
Baka wa shinanakya naoranai.
Mein XING Profil.
Hallo SirSydom,
du könntest die Data-Property aber u.U. gleich von vorneherein protected machen.
herbivore
protected?
Das hieße doch ich kann auf das "Data"-Property der Basisklasse von außen nicht mehr zugreifen?
Genau das heißt es. Für außenstehenden ist protected wie private und für abgeleitete Klassen ist protected wie public.
Baka wa shinanakya naoranai.
Mein XING Profil.
wenn es dir aber nur um die Darstellung im Intellisense oder im PropertyGrid geht würde sonst ein darueber gelegtes Private Property (new Schluesselwort in C#) auch funktionieren. Sei dir aber im Klaren, dass das gegen die objektorientierte Kapselung verstößt, demzufolge nur im Notfall wenn gar nichts anderes geht verwendet werden sollte.
und sei dir im klaren dass dass man über eine variable des typs der basisklasse immer noch drauf zugreifen könnte, auch wenn der inhalt der variablen (die tatsächliche instanz) des abgeleiteten types ist.
loop:
btst #6,$bfe001
bne.s loop
rts