Laden...

public Property der Basisklasse ausblenden

Erstellt von SirSydom vor 16 Jahren Letzter Beitrag vor 16 Jahren 1.824 Views
SirSydom Themenstarter:in
141 Beiträge seit 2006
vor 16 Jahren
public Property der Basisklasse ausblenden

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)

6.862 Beiträge seit 2003
vor 16 Jahren

Geht nicht, man kann Klassen durch Vererbung immer nur erweitern, nicht einschränken.

Baka wa shinanakya naoranai.

Mein XING Profil.

49.485 Beiträge seit 2005
vor 16 Jahren

Hallo SirSydom,

du könntest die Data-Property aber u.U. gleich von vorneherein protected machen.

herbivore

SirSydom Themenstarter:in
141 Beiträge seit 2006
vor 16 Jahren

protected?

Das hieße doch ich kann auf das "Data"-Property der Basisklasse von außen nicht mehr zugreifen?

6.862 Beiträge seit 2003
vor 16 Jahren

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.

O
778 Beiträge seit 2007
vor 16 Jahren

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.

0
767 Beiträge seit 2005
vor 16 Jahren

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