Einführung in Objekte in Visual Basic
Aktualisiert: November 2007
Ein Objekt ist eine Struktur, die Daten und Methoden zum Bearbeiten der Daten enthält. Für fast jede Aktion, die Sie in Visual Basic ausführen, werden Objekte verwendet. Wenn Sie keine Erfahrung mit der objektorientierten Programmierung haben, sind die folgenden Begriffserklärungen und Konzepte ein guter Einstieg.
Klassen und Objekte
Die Begriffe "Klasse" und "Objekt" werden so oft in der objektorientierten Programmierung verwendet, dass sie leicht verwechselt werden können. Im Allgemeinen ist eine class eine abstrakte Darstellung von einem Element, und ein Objekt ist ein verwendbares Beispiel des Elements, das von der Klasse dargestellt wird. Es gibt jedoch eine Ausnahme zu dieser Regel: freigegebene Klassenmember, die sowohl in Instanzen einer Klasse als auch in Objektvariablen, welche als Typ der Klasse deklariert sind, verwendet werden können.
Felder, Eigenschaften, Methoden und Ereignisse
Klassen bestehen aus Feldern, Eigenschaften, Methoden und Ereignissen. Felder und Eigenschaften stellen die in einem Objekt enthaltenen Informationen dar. Felder sind wie Variablen, sie können direkt gelesen oder festgelegt werden. Wenn Sie z. B. ein Objekt "Fahrzeug" haben, kann dessen Farbe in einem Feld "Farbe" gespeichert werden.
Eigenschaften werden wie Felder abgerufen und festgelegt; sie werden jedoch mit den Eigenschaftenprozeduren Get und Set implementiert, wodurch das Festlegen oder Zurückgegeben von Werten besser gesteuert werden kann. Die Dereferenzierungsschicht zwischen dem gespeicherten Wert und den Prozeduren, die diesen Wert verwenden, unterstützt Sie beim Isolieren der Daten und ermöglicht Ihnen, die Werte vor dem Zuordnen oder Abrufen auszuwerten.
Methoden stellen Aktionen dar, die ein Objekt ausführen kann. Beispielsweise kann ein "Fahrzeug"-Objekt die Methoden "MotorStarten", "Fahren" und "Bremsen" aufweisen. Definieren Sie Methoden, indem Sie der Klasse Prozeduren, entweder Sub-Routinen oder -Funktionen, hinzufügen.
Ereignisse sind Benachrichtigungen, die ein Objekt von anderen Objekten oder Anwendungen erhält oder an diese überträgt. Durch Ereignisse können Objekte Aktionen ausführen, sobald ein bestimmter Vorgang stattfindet. Ein Beispiel für ein Ereignis der "Fahrzeug"-Klasse wäre ein "Motor_Überprüfen"-Ereignis. Da es sich bei Microsoft Windows um ein ereignisgesteuertes Betriebssystem handelt, können Ereignisse von anderen Objekten, Anwendungen oder von Benutzereingaben (z. B. ein Mausklick oder das Drücken einer Taste) kommen.
Kapselung, Vererbung und Polymorphismus
Felder, Eigenschaften, Methoden und Ereignisse machen nur einen Teil der objektorientierten Programmierung aus. Für die wahre objektorientierte Programmierung ist es nötig, dass die Objekte drei Qualitäten unterstützen: Kapselung, Vererbung und Polymorphismus.
Kapselung bedeutet, dass eine Gruppe verwandter Eigenschaften, Methoden sowie anderer Member als eine Einheit bzw. ein Objekt behandelt werden. Objekte können steuern, wie Eigenschaften geändert und Methoden ausgeführt werden. Beispielsweise kann ein Objekt Werte überprüfen, bevor Änderungen an Eigenschaften vorgenommen werden können. Die Kapselung erleichtert auch die Änderung der Implementierung zu einem späteren Zeitpunkt, da die Implementierungsdetails der Objekte ausgeblendet werden können. Dieser Vorgang wird als Ausblenden von Daten bezeichnet.
Vererbung beschreibt die Fähigkeit, neue Klassen basierend auf einer vorhandenen Klasse zu erstellen. Die neue Klasse erbt alle Eigenschaften, Methoden und Ereignisse der Basisklasse und kann mit zusätzlichen Eigenschaften und Methoden angepasst werden. Sie können z. B. eine neue Klasse mit der Bezeichnung "LKW" erstellen, die auf der "Fahrzeug"-Klasse basiert. Die "LKW"-Klasse erbt die "Farbe"-Eigenschaft von der "Fahrzeug"-Klasse und kann zusätzliche Eigenschaften, z. B. "Vierradantrieb" aufweisen.
Polymorphismus bedeutet, dass Sie mehrere Klassen untereinander austauschen können, obwohl jede Klasse dieselben Eigenschaften oder Methoden auf unterschiedliche Art und Weise implementiert. Polymorphismus ist wichtig für die objektorientierte Programmierung, da er ermöglicht, Elemente mit denselben Namen zu verwenden, ungeachtet des zu dem Zeitpunkt verwendeten Objekttyps. Wenn die Basisklasse beispielsweise "Fahrzeug" lautet, können bei der Programmierung dank Polymorphismus verschiedene "MotorStarten"-Methoden für eine beliebige Anzahl von abgeleiteten Klassen definiert werden. Die "MotorStarten"-Methode einer abgeleiteten Klasse mit der Bezeichnung "Dieselfahrzeug" kann sich komplett von der Methode mit demselben Namen in der Basisklasse unterscheiden. Andere Prozeduren oder Methoden können die "MotorStarten"-Methode der abgeleiteten Klassen auf exakt die gleiche Weise verwenden, ungeachtet des "Fahrzeug"-Objekttyps, der gerade verwendet wird.
Überladen, Überschreiben und Shadowing
Überladen, Überschreiben und Shadowing sind ähnliche Konzepte, die leicht verwechselt werden können. Obwohl Sie mit allen drei Techniken Member mit demselben Namen erstellen können, gibt es einige wichtige Unterschiede.
Überladene Member werden verwendet, um verschiedene Versionen einer Eigenschaft oder Methode bereitzustellen, die zwar denselben Namen haben, jedoch eine andere Anzahl von Parametern oder Parameter mit unterschiedlichen Datentypen akzeptieren.
Überschriebene Eigenschaften und Methoden werden zum Ersetzen einer geerbten Eigenschaft oder Methode verwendet, die nicht in eine abgeleitete Klasse gehört. Überschriebene Member müssen denselben Datentyp und dieselbe Anzahl von Argumenten akzeptieren. Abgeleitete Klassen erben überschriebene Member.
Member, für die Shadowing durchgeführt wurde, werden verwendet, um einen Member lokal zu ersetzen, der einen größeren Gültigkeitsbereich hat. Jeder Typ kann für jeden anderen Typ Shadowing durchführen. Sie können z. B. eine Eigenschaft deklarieren, die für eine geerbte Methode mit dem gleichen Namen Shadowing durchführt. Member, für die Shadowing durchgeführt wurde, können nicht geerbt werden.
Siehe auch
Konzepte
Überladene Eigenschaften und Methoden
Überschreiben von Eigenschaften und Methoden