Eigenschaften

DIAdem 2018 Hilfe


Ausgabe: Juni 2018
Artikelnummer: 370858P-0113
Angaben zum Produkt anzeigen

DOWNLOAD (Nur Windows)


DIAdem 2012 Hilfe
DIAdem 2014 Hilfe
DIAdem 2015 Hilfe
DIAdem 2017 Hilfe
DIAdem 2018 Hilfe
DIAdem 2019 Hilfe

Public-Variablen einer Klasse dienen als Eigenschaften für diese Klasse. Sie können die Eigenschaften einer Klasse aber auch explizit mithilfe von Property Get, Property Let und Property Set definieren. Das hat den Vorteil, dass Sie den Inhalt dieser Eigenschaften kontrollieren können. So verwenden Sie zum Auslesen der Eigenschaft immer Property Get und weisen dieser Eigenschaft mit Property Let einen Wert zu. Property Set verwenden Sie zur Zuweisung eines Objektverweises.

Zur Definition einer Eigenschaft müssen die Namen der Property-Prozeduren identisch sein.

[Public|Private] Property Get Name [(ArgList)]
  [Statements]
  [Set] Name = Expression
  [Exit Property]
  [Statements]
  [Set] Name = Expression
End Property

 

[Public|Private] Property Let Name [(ArgList,)Value]
  [Statements]
  [Exit Property]
  [Statements]
End Property

 

[Public|Private] Property Set Name [(ArgList,)Reference]
  [Statements]
  [Exit Property]
  [Statements]
End Property
Name Name der Prozedur gemäß den Standardkonventionen.
ArglistListe mit den Argumenten, die beim Aufruf an die Prpoerty übergeben werden. Mehrere Variablen trennen Sie durch Kommata voneinander.
StatementsAlle zu einer Methode gehörenden Anweisungen.
ExpressionRückgabewert der Property Get-Prozedur.
ValueVariable, die den einer Eigenschaft zuzuweisenden Wert enthält.
Reference Variable, die den Objektverweis enthält, der auf der rechten Seite der Objektzuweisung verwendet wird.
SetSchlüsselwort, das beim Zuweisen eines Objekts als Rückgabewert der Property Get-Prozedur verwendet wird.
Public | Private Definieren Sie Variablen, Funktionen und Prozeduren einer Klasse als Public, so können Sie diese auch außerhalb der Klasse verwenden.
Das Schlüsselwort Private bei der Definition von Variablen, Funktionen und Prozeduren bedeutet, dass diese nur innerhalb der Klasse verwendbar sind, in der sie definiert sind.

Das folgende Beispiel definiert eine Klasse cRandom. Diese Klasse enthält zwei Eigenschaften LowerBound und UpperBound. Sie können die Eigenschaft UpperBound lesen und schreiben, die Eigenschaft LowerBound aber nur lesen. Um diese auch beschreibbar zu machen, müssen Sie die Kommentarzeichen vor Public Property Let LowerBound(LoBound) und den danach folgenden zwei Zeilen entfernen:

Class cRandom
Private iUpperBound, iLowerBound
'=== Constructor and deconstructor ===
Private Sub Class_Initialize()
  Call Randomize  ' Initialize random-number generator.
  iUpperBound = 1 ' set default value for upper boundary
  iLowerBound = 0 ' set default value for lower boundary
End Sub
Private Sub Class_Terminate()
End Sub
'=== UpperBound property ===
Public Property Let UpperBound(UpBound)
  iUpperBound  = UpBound
End Property
Public Property Get UpperBound
  UpperBound  = iUpperBound
End Property
'=== LowerBound property ===
Public Property Let LowerBound(LoBound)
  iLowerBound  = LoBound
End Property
Public Property Get LowerBound
  LowerBound  = iLowerBound
End Property
'=== Random method ===
Public Function Exec
  Exec = (UpperBound - LowerBound) * Rnd + LowerBound
End Function
End Class
'=== Main ===
Dim MyRandom
Set MyRandom = New cRandom
MyRandom.UpperBound = InputBox("Lower bound: " & MyRandom.LowerBound & VBCrLf _ 
          & "Upper bound: " & MyRandom.UpperBound & VBCrLf & "Enter new upper limit:", _
          "Random Generator", MyRandom.UpperBound)
Call MsgBox("Random number: " & MyRandom.Exec)

Verwandte Themen

Class | Const | Function | Sub | Property Get | Property Let | Property Set | ByRef - ByVal

WAR DIESER ARTIKEL HILFREICH?

Nicht hilfreich