Beispiel für die Schlüsselwörter "Overloads" und "Overrides"
Aktualisiert: November 2007
In diesem Beispiel wird veranschaulicht, wie abgeleitete Klassen mit Visual Basic-Sprachfeatures wie Überladen und Überschreiben erweitert werden. Außerdem wird gezeigt, wie den Membern einer Klasse verschiedene Zugriffsebenen wie Public, Private und Protected eingeräumt werden.
So erhalten Sie Beispiele und Anweisungen zu ihrer Installation
Führen Sie eine oder mehrere der folgenden Aktionen aus:
Klicken Sie im Menü Hilfe auf Samplings.
In der Infodatei befinden sich Informationen zu Beispielen.
Gehen Sie zur Website mit Visual Studio 2008-Beispielen. Hier stehen die aktuellsten Versionen der Beispiele bereit.
Suchen Sie Beispiele auf dem Computer, auf dem Visual Studio installiert wurde. Standardmäßig werden Beispiele und eine Infodatei unter Laufwerk:\Programme\Microsoft Visual Studio 9.0\Beispiele\lcid installiert. Für die Express-Version von Visual Studio werden alle Beispiele online bereitgestellt.
Weitere Informationen finden Sie unter Suchen von Beispieldateien.
Sicherheitshinweis: |
---|
Dieser Beispielcode soll lediglich ein Konzept veranschaulichen. Es wird nur der für das jeweilige Konzept relevante Code dargestellt. Möglicherweise erfüllt dieser nicht die Sicherheitsanforderungen für eine bestimmte Umgebung, und er sollte nicht genau wie dargestellt verwendet werden. Wir empfehlen, Sicherheits- und Fehlerbehandlungscode hinzuzufügen, um Ihre Projekte sicherer und stabiler zu machen. Microsoft stellt diesen Beispielcode "wie besehen" und ohne Garantien zur Verfügung. |
So führen Sie dieses Beispiel aus
- Drücken Sie F5.
Veranschaulicht
Diese Anwendung simuliert ein Fahrzeugregistrierungssystem für Autos, Boote und Fahrräder.
Die Anwendung verwendet eine Basisklasse mit dem Namen Vehicle, von der die Klassen Automobile, Boat und Bicycle abgeleitet werden. Durch jede abgeleitete Klasse wird die Basisklasse auf eine bestimmte Weise erweitert: durch Überschreiben der Methoden der Basisklasse, durch Implementieren neuer Methoden bzw. eigener Eigenschaften oder durch Ersetzen (Shadowing) der Member der Basisklasse. Es gibt auch eine Friend-Klasse mit dem Namen DepartmentOfMotorVehicles, die das Lesen von Daten aus einer Datenbank und das Schreiben von Daten in eine Datenbank simuliert.
Die Anwendung veranschaulicht die Verwendung dieser Anweisungen und Modifizierer in Klassen und deren Membern:
Schlüsselwort |
Verwendung |
---|---|
Wird auf Automobile, Boat und Bicycle angewendet, um anzugeben, dass Vehicle die Basisklasse ist. |
|
Wird auf die DepartmentOfMotorVehicles -Klasse angewendet. Diese Klasse dient eventuell nicht als Basisklasse. |
|
Wird auf die Vehicle -Klasse angewendet. Nur Klassen, die von Vehicle abgeleitet werden, können instanziiert werden. |
|
Die Register-Methode in der Boat-Klasse wird überladen, um eine maximale Anzahl von Fahrgästen hinzuzufügen. |
|
Wird in der Vehicle-Klasse für die ID-Eigenschaft verwendet. Wenn abgeleitete Klassen in der Basisklasse implementiert sind, können sie unter Umständen eine andere Version implementieren. |
|
Wird in allen drei abgeleiteten Klassen auf die CurrentValue-Eigenschaft angewendet, um die Standardimplementierung in der Basisklasse zu ersetzen. |
|
Wird in Vehicle-Klassenmembern (ComputeRegistrationFee und Salary) verwendet. Während diese Member nicht in Vehicle implementiert sind, müssen sie in abgeleiteten Klassen implementiert werden, die nicht mit MustInherit gekennzeichnet sind. |
|
Wird in der Bicycle-Klasse auf die Register-Methode angewendet. |
|
Wird für Klassen und deren Member verwendet, um anzugeben, dass eine Klasse oder ein Member der Clientanwendung zur Verfügung steht. |
|
Wird für Felder in der Vehicle -Klasse verwendet. Auf diese Felder kann in der Vehicle-Klasse und in abgeleiteten Klassen zugegriffen werden, ein Zugriff durch Clientanwendungen ist jedoch nicht möglich. |
|
Wird auf die DepartmentOfMotorVehicles -Klasse angewendet. Diese Klasse wird in der Assembly verwendet, in Clientanwendungen ist jedoch kein Zugriff darauf möglich. |
|
Wird auf Klassenfelder angewendet. Auf diese Felder kann in Clientanwendungen nicht zugegriffen werden. |
|
Wird auf Methoden in der DepartmentOfMotorVehicles-Klasse angewendet. Damit kann die DepartmentOfMotorVehicles-Klasse als Funktionsbibliothek fungieren. |