Index  -  Omat luokat - New - Get ja Set - Metodit - Perintä - Overrides - Implements

Property Get Set


Joskus olisi hyvä päästä ohjelmalla vaikuttamaan objektin ominaisuuden asettamiseen tai lukemiseen. Tämä järjestyy  Property Get Set menettelyllä.

1) Luokka koodissa sisinen muuttuja määritellään yksityiseksi, alaviiva edessä:

        Private _Laji As String

2) Ominaisuuden nimeä käytetään Property lausekkeessa, GET lukee sisäisen "alaviiva"-muuttujan, SET asettaa sen.:

        Property Laji() As String
            Get
                Return _Laji
            End Get
            Set(ByVal Value As String)
                _Laji = Value
            End Set
        End Property

Jos halutaan vaikuttaa esim laskemalla/tarkastamalla, se voidaan tehdä GET/SET koodissa:

        ReadOnly Property ikä() As Integer
            Get
                ikä = Now.Year - _ValmVuosi.Year
            End Get
        End Property


Esimerkki luokka "Huonekalu" vielä kokonaisena

    Public Class Huonekalu
        Private _Laji As String
        Private _Tyyli As String
        Private _Ostohinta As Single
        Private _ValmVuosi As Date
        Private _RekisteröintiPVM As Date
        Sub New() ' new ajetaan aina kun objekti tehdään
            _RekisteröintiPVM = Now
        End Sub
        Property Laji() As String
            Get
                Return _Laji
            End Get
            Set(ByVal Value As String)
                _Laji = Value
            End Set
        End Property
        Property Tyyli() As String
            Get
                Return _Tyyli
            End Get
            Set(ByVal Value As String)
                _Tyyli = Value
            End Set
        End Property
        Property Ostohinta() As Single
            Get
                Return _Ostohinta
            End Get
            Set(ByVal Value As Single)
                _Ostohinta = Value
            End Set
        End Property
        Property ValmVuosi() As Date
            Get
                Return _ValmVuosi
            End Get
            Set(ByVal Value As Date)
                _ValmVuosi = Value
            End Set
        End Property
        ReadOnly Property ikä() As Integer
            Get
                ikä = Now.Year - _ValmVuosi.Year
            End Get
        End Property
    End Class