Abstrakte Klassen und ReadOnly-Eigenschaften

8

Lassen Sie uns drei Klassen haben;

%Vor%

für alle drei Klassen ist ein Distance definiert.

Aber nur für Line a Distance kann gesetzt werden.

Gibt es eine Möglichkeit, eine gemeinsame abstrakte (MustInherit) -Klasse Segment mit einem Distance als (abstract + ? ReadOnly ) Mitglied?

Frage zu VB.NET , aber C # -Antworten wurden ebenfalls begrüßt.

Geschäftshintergrund

Stellen Sie sich einen Bus vor. Es hat eine Menge von Station s, MainStation s und 2 TerminalStation s. So liegt Line zwischen 2 Stationen, PoliLine liegt zwischen 2 MainStation s und SuperPoliLine liegt zwischen 2 TerminalStations. Alle "Linien" sind "Segmente", aber nur die Entfernung A- & gt; B zwischen 2 Stationen - Linie kann definiert werden.

    
serhio 12.01.2011, 18:55
quelle

3 Antworten

1

Sie können die Datei nicht gleichzeitig überschreiben und neu deklarieren (um die Menge hinzuzufügen), aber Sie können Folgendes tun:

Basisklasse:

%Vor%

Abgeleitete Klasse:

%Vor%

Jetzt können Sie FooImpl auch nach Bedarf überschreiben.

    
Marc Gravell 12.01.2011 19:09
quelle
1

Da Sie wollen, dass es in einer Klasse gesetzt werden kann, aber in den anderen nicht einstellbar, würde ich normalerweise keine Eigenschaft für die "spezielle" verwenden (in diesem Fall den Setzer).

%Vor%     
Timwi 12.01.2011 19:19
quelle
1
%Vor%

BEARBEITETE VERSION:

%Vor%     
Pedro 12.01.2011 20:03
quelle

Tags und Links