Referenz - OVERRIDE
Syntax:
TYPE Typname EXTENDS Elterntyp
DECLARE {SUB|FUNCTION|PROPERTY|OPERATOR} ... (Parameterliste) [AS Datentyp] OVERRIDE
END TYPE
Typ: Klausel
Kategorie: Klassen
OVERRIDE wird bei der Deklaration von Methoden einer Klasse verwendet und gibt an, dass die dazugehörige Methode eine
virtuelle oder
abstrakte Methode seiner
Elternklasse überschreiben muss. Ist dies nicht der Fall, da in der Elternklasse keine derartige Methode existiert, wird der Compiler einen Fehler ausgeben.
Beachte:
Nur
nicht-statische Methoden können virtuelle oder abstrakte Methoden überschreiben.
OVERRIDE muss nicht zum Überschreiben von Methoden der Elternklasse angegeben werden, es hilft allerdings, Fehler durch falsche Methoden-Signaturen (Parameter und Name der Methode) vorzubeugen.
OVERRIDE kann nur bei der Deklaration im
UDT angegeben werden, nicht aber beim Methodenrumpf, da es sich dabei um eine reine Prüfung zur Compile-Zeit handelt, die sich nicht weiter auf die Methode auswirkt.
Beispiel:
Type A Extends Object
Declare Virtual Sub f1
Declare Virtual Function f2 As Integer
End Type
Type B Extends A
Declare Sub f1 Override
Declare Function f2 As Integer Override
End Type
Sub A.f1
End Sub
Function A.f2 As Integer
Return 0
End Function
Sub B.f1
End Sub
Function B.f2 As Integer
Return 0
End FunctionUnterschiede zu QB: neu in FreeBASIC
Unterschiede zu früheren Versionen von FreeBASIC: existiert seit FreeBASIC v0.90.0
Unterschiede unter den FB-Dialektformen: nur in der Dialektform
-lang fb verfügbar
Siehe auch:
VIRTUAL,
ABSTRACT,
TYPE,
EXTENDS,
OBJECT,
Objektorientierung
| Zusätzliche Informationen und Funktionen | ||||
|---|---|---|---|---|
|
||||



FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!
Versionen