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

Metodit: Sub ja Function


Luokassa on datan lisäksi mukana koodia, jolla käsitellään objektin dataa. Koska Data ja koodi ovat samassa paketissa, löytyy oikea aliohjelma itsestään (oo ohjelmoinnin suuri etu numero 1).

Lisätään "Huonekalu" luokkan seuraava koodi:

        Public Function LaskeMyyntihinta(ByVal katepros As Single) As Single
            Return _Ostohinta / (1 - katepros / 100.0F) * 1.22F
        End Function

Tätä voidaan käyttää seuraavasti:

 Dim Myyntihinta As Single = Pöytä.LaskeMyyntihinta(40.0F) 'kate pros = 40%


Koko Huonekalu-esimerkki on tässä vaiheessa:

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim Pöytä As Huonekalu = New Huonekalu
        Pöytä.Laji = "Ruokapöytä"
        Pöytä.Tyyli = "Talonpoikais"
        Pöytä.Ostohinta = 389.0F
        Pöytä.ValmVuosi = #1/7/1889#
        Dim ikä As Integer = Pöytä.ikä
        Dim Myyntihinta As Single = Pöytä.LaskeMyyntihinta(40.0F) 'kate pros = 40%
    End Sub
    '
    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
        Public Function LaskeMyyntihinta(ByVal katepros As Single) As Single
            Return _Ostohinta / (1 - katepros / 100.0F) * 1.22F
        End Function
        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
 End Class