Class Property
2 svar · 249 visningar · startad av Prometheus
Let:
"skriver" till en varabel
Get:
"läser" från en variabel
Set:
Sätter en objekt variabel
cya,
PatrikB
Det finns (minst) två anledningar till att använda Property, i stället för att använda publika variabler.
Class MyClass
Public MyName
End Class
Class MyOtherClass
Private m_strName
Public Property Let MyName(strName)
m_strName=strName
End Property
Public Property Get MyName(strName)
MyName=m_strName
End Property
End Class
Dessa båda klasser gör i princip samma sak. Man kan sätta namnet med
instans.MyName="Sven Svensson"
Varför då använda Property?
Jo, dels kan man t.ex. ta bort Property Let-delen, och vips så har man en readonly-egenskap, som ingen kod i världen kan fixa med, dels kan man vidta extra åtgärder, helt transparent, både när egenskaperna sätts (t.ex. felkontroll - se till att ett värde håller sig inom vissa ramat) och när de avläses. T.ex. skulle man kunna....
Class MyOtherClass
Private m_strName
Public Property Let MyName(strName)
m_strName=strName
End Property
Public Property Get MyName(strName)
MyName=m_strName
End Property
Public Property Get MyFirstName(strName)
arrNames=split(m_strName," ")
MyFirstName=arrNames(lbound(arrNames))
End Property
Public Property Get MyLastName(strName)
arrNames=split(m_strName," ")
MyLastName=arrNames(ubound(arrNames))
End Property
End Class
...en klass där man bara kan sätta hela namnet, men hämta för- och efternamn, utan extra bestyr.