Buchempfehlung
Windows-Programmierung. Das Entwicklerhandbuch zur WIN32-API
Windows-Programmierung. Das Entwicklerhandbuch zur WIN32-API
"Der" Petzold, das über 1000 Seiten starke Standardwerk zum Win32-API - besonders nützlich u. a. bei der GUI-Programmierung in FreeBASIC! [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

Referenz - EXTENDS

Referenz-Navigation

 

Syntax: TYPE kindKlasse EXTENDS basisKlasse
Typ: Anweisung
Kategorie: Klassen

EXTENDS wird in Verbindung mit Vererbung bei BefehlsreferenzeintragTYPE und BefehlsreferenzeintragUNION verwendet. Dabei gibt das Schlüsselwort an, dass die eigene Klasse die Records und Methoden einer bereits bestehenden erbt, also erhält, ohne dass man diese zusätzlich angeben müsste.

Beispiel:

Type Haustier Extends Object
  As Integer beine = 4
  As Integer schwanz = 1
End Type

Type Hund Extends Haustier
  As Integer anhaenglich = 1
  Declare Sub gibLaut
End Type
Sub Hund.gibLaut
  Print "Wuff!"
End Sub

Type Chihuahua Extends Hund
  Declare Sub gibLaut
End Type
Sub Chihuahua.gibLaut
  Print "Klaeffklaeff!"
End Sub

Type Bernhardiner Extends Hund
  As Integer gutmuetig = 1
End Type

'#####################################################

Dim benno As Bernhardiner, husky As Chihuahua
Print "Benno hat " & benno.beine & " Beine und " & benno.schwanz & " Schwanz."
Print "Benno ist gutmuetig (Wert " & benno.gutmuetig & ")."
benno.gibLaut
Print
Print "Husky hat " & husky.beine & " Beine und " & husky.schwanz & " Schwanz."
husky.gibLaut
Print

Sleep

Ausgabe:

Benno hat 4 Beine und 1 Schwanz.
Benno ist gutmuetig (Wert 1).
Wuff!

Husky hat 4 Beine und 1 Schwanz.
Klaeffklaeff!

Erläuterung: Sowohl Benno als auch Husky erben die Records 'beine' und 'schwanz' vom Elternobjekt. 'gutmuetig' steht nur Benno zur Verfügung. Dafür besitzt Husky eine eigene 'gibLaut'-Methode, während Benno auf die Methode des Elternobjekts zugreift.

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 Befehlsreferenzeintrag-lang qb steht EXTENDS nicht zur Verfügung und kann nur über __EXTENDS aufgerufen werden.

Siehe auch:
BefehlsreferenzeintragTYPE (UDT), BefehlsreferenzeintragUNION, BefehlsreferenzeintragBASE, BefehlsreferenzeintragOBJECT, BefehlsreferenzeintragIS (Vererbung), BefehlsreferenzeintragObjektorientierung


Zusätzliche Informationen und Funktionen
  • Der Referenzeintrag wurde am 08.01.2012 von RedakteurMOD angelegt.
  • Die aktuellste Version wurde am 14.09.2013 von RedakteurMOD gespeichert.
  Versionen Versionen