Referenz - OBJECT
Syntax: TYPE basisklasse EXTENDS OBJECT
Typ: Datentyp
Kategorie: Klassen
OBJECT wird in Verbindung mit Vererbung genutzt. Will man über IS den Typ einer Variablen erfahren, muss die Basis-Klasse von OBJECT erben, da nur so die RTTI-Funktionalität zur Verfügung steht, die dies ermöglicht.
Beispiel:
Type Haustier Extends Object
As Integer beine = 4
As Integer schwanz = 1
End Type
Type Hund Extends Haustier
' Deklarationen für Hunde
End Type
Type Dackel Extends Hund
' Deklarationen für Dackel
End Type
Dim As Haustier Ptr waldi = New Dackel
If *waldi Is Hund Then Print "Waldi ist ein Hund."
If *waldi Is Dackel Then Print "Waldi ist ein Dackel."
Delete waldi
Sleep
Ausgabe:
Waldi ist ein Hund.
Waldi ist ein Dackel.
Erläuterung: Da 'waldi' sowohl ein Hund als auch ein Dackel ist, spricht er auf beide Abfragen an. Wenn Sie die exakte Zugehörigkeit zu einer Klasse prüfen wollen, sollten Sie aus diesem Grund die abgefragten Klassen immer in zur Erbreihenfolge entgegengesetzer Reihenfolge prüfen; siehe dazu IS (Vererbung).
IS arbeitet nur mit der Klasse, die direkt von OBJECT erbt. Andererseits kann diese Klasse nicht auf die Attribute und Methoden seiner Kindklassen zugreifen. Um diese Attribute ansprechen zu können, muss die Variable entsprechend geCASTet werden; siehe dazu IS (Vererbung).
Unterschiede zu QB: neu in FreeBASIC
Unterschiede zu früheren Versionen von FreeBASIC: existiert seit FreeBASIC v0.24
Unterschiede unter den FB-Dialektformen:
In der Dialektform -lang qb steht OBJECT nicht zur Verfügung und kann nur über __OBJECT aufgerufen werden.
Siehe auch:
TYPE (UDT), BASE, EXTENDS, IS (Vererbung), Objektorientierung
Zusätzliche Informationen und Funktionen | ||||
---|---|---|---|---|
|