Buchempfehlung
MySQL kurz & gut
MySQL kurz & gut
Das preiswerte Taschen- buch stellt MySQL-rele- vante Inhalte systematisch und knapp dar, sodass es sich optimal zum Nach- schlagen beim Pro- grammieren eignet. [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!

Tutorial

Type als Objekt - Das UDT-Tutorial Teil 1

von RedakteurMODSeite 4 von 8

Methoden (BefehlsreferenzeintragSubs und BefehlsreferenzeintragFunctions)

In einem Type können auch reguläre Subs und Functions vorkommen, in Verbindung mit Objekten werden sie dann oft Methoden genannt. Wir führen unser Beispiel fort:

Type bar
  Declare Constructor()
  Declare Destructor()

  Declare Property x() As Integer
  Declare Property x(ByVal n As Integer)

  Declare Sub Mul5()
  Declare Function Addr() As Integer Ptr

  p_x As Integer Ptr
End Type

Constructor bar()
  Print "Constructor bar()"
  p_x = Allocate(SizeOf(Integer))
  *p_x = 10
End Constructor

Destructor bar()
  Print "Destructor bar()"
  DeAllocate(p_x)
End Destructor

Property bar.x() As Integer
  Print "bar.x()"
  Property = *p_x
End Property

Property bar.x(ByVal n As Integer)
  Print "bar.x(ByVal n As Integer)"
  *p_x = n
End Property

Sub bar.mul5()
  *p_x *= 5
End Sub

Function bar.Addr() As Integer Ptr
  Function = p_x
End Function

'---

Dim foo As bar

Print foo.x
foo.x = 5
Print foo.x
foo.mul5()
Print foo.x
Print "Adresse p_x zeigt auf", foo.Addr()

Diesmal haben wir eine Sub hinzugefügt, die den Integer auf den p_x zeigt mit fünf multipliziert und eine Funktion, die die Speicher-Adresse holt, die der Pointer enthält.
Alles in allem funktionieren sie wie normale Subs und Functions mit dem Unterschied, dass sie dem Objekt direkt zugeordnet sind.

 

Gehe zu Seite Gehe zu Seite  1  2  3  4  5  6  7  8  
Zusätzliche Informationen und Funktionen
  • Das Tutorial wurde am 06.09.2010 von RedakteurMOD angelegt.
  • Die aktuellste Version wurde am 05.09.2011 von AdministratorSebastian gespeichert.
  Bearbeiten Bearbeiten  

  Versionen Versionen