Példányok származtatása
Végezzünk kísérletet annak bemutatására, hogy a származtatott példányok azonos szerkezetűek, de tartalmuk eltérő lehet.
A kísérlet előfeltétele, hogy a számítógépre legyen telepítve a Visual Basic program.
Hozzunk létre egy ember osztálymodult, majd ennek segítségével három objektumot, ami különböző emberek adatait tartalmazzák!
Nyilvános adattagok: Név, Született, Neme
Nyilvános metódusok: Adatok(): az ember adatait lehet vele feltölteni, Életkor(): Az ember életkorát lehet vele lekérdezni.
Az űrlapon hozzunk létre emberenként egy-egy parancsgombot, aminek megnyomásakor hozzuk létre az ember objektumot az ember osztályból! Az objektumot töltsük fel adatokkal és írassuk ki a képernyőre!
Forráskód:
Az űrlap kódja:
Private Sub gFeri_Click()
'Deklaráljuk a Feri nevű objektum változót ami ember típusú
Dim Feri As ember
'Létrehozzuk a Feri objektumot az ember osztályból (Feri megszületik)
Set Feri = New ember
'Nevet, Nemet és Születési évet adunk Ferinek
Feri.Adatok "Horvát Ferenc", True, CDate("1985.11.12")
'Kiíratjuk a képernyőre Feri legfontosabb adatait
Label1.Caption = "Név: " + Feri.Név
Label2.Caption = "Született: " & Feri.Született
'Feritől megkérdezzük életkorát
Label3.Caption = "Életkor: " & Feri.Életkor()
End Sub
Private Sub gRobi_Click()
Dim Robi As ember
Set Robi = New ember
Robi.Adatok "Kovács Róbert", True, CDate("1987.06.11")
Label1.Caption = "Név: " + Robi.Név
Label2.Caption = "Született: " & Robi.Született
Label3.Caption = "Életkor: " & Robi.Életkor()
End Sub
Private Sub gViki_Click()
Dim Viki As ember
Set Viki = New ember
Viki.Adatok "Hegedűs Viktória", True, CDate("1983.01.22")
Label1.Caption = "Név: " + Viki.Név
Label2.Caption = "Született: " & CStr(Viki.Született)
Label3.Caption = "Életkor: " & Viki.Életkor()
End Sub
Az osztálymodul kódja:
'local variable(s) to hold property value(s)
Private mvarSzületett As Date 'local copy
Private mvarNév As String 'local copy
Private mvarNeme As Boolean 'local copy
Public Sub Adatok(Név As String, Neme As Boolean, Született As Variant)
mvarNév = Név
mvarSzületett = Született
mvarNeme = Neme
End Sub
Public Function Életkor() As Integer
Életkor = Year(Date - mvarSzületett) - 1900
End Function
Public Property Let Neme(ByVal vData As Boolean)
'used when assigning a value to the property, on the left side of an assignment.
'Syntax: X.Neme = 5
mvarNeme = vData
End Property
Public Property Get Neme() As Boolean
'used when retrieving value of a property, on the right side of an assignment.
'Syntax: Debug.Print X.Neme
Neme = mvarNeme
End Property
Public Property Let Név(ByVal vData As String)
'used when assigning a value to the property, on the left side of an assignment.
'Syntax: X.Név = 5
mvarNév = vData
End Property
Public Property Get Név() As String
'used when retrieving value of a property, on the right side of an assignment.
'Syntax: Debug.Print X.Név
Név = mvarNév
End Property
Public Property Let Született(ByVal vData As Date)
'used when assigning a value to the property, on the left side of an assignment.
'Syntax: X.Született = 5
mvarSzületett = vData
End Property
Public Property Get Született() As Date
'used when retrieving value of a property, on the right side of an assignment.
'Syntax: Debug.Print X.Született
Született = mvarSzületett
End Property