Index - Omat
luokat - New
- Get
ja Set
- Metodit
- Perintä -Override - Implements
Overrides
Overrides osoittaa, että luokan
ominaisuus korvaa kantaluokassa olevan täysin samannimisen
ominaisuuden. Datan tyypin ja argumenttien määrän tulee
täsmätä kantaluokan kanssa.
1) Muutetaan kantaluokan ominaisuus korvattavissa olevaksi
Private _Väri As String
Overridable Property Väri() As String
Get
Return _Väri
End Get
Set(ByVal Value As String)
_Väri = Value
End Set
End Property
2) Tehdään lapsi-luokkaan ominaisuus, joka korvaa vastaavalla nimellä
kirjoitetun kantaluokan ominaisuuden.
Private _PäällysteenVäri As String
Overrides Property Väri() As String ' uusi lisättävä ominaisuus
Get
Return _PäällysteenVäri
End Get
Set(ByVal Value As String)
_PäällysteenVäri = Value
End Set
End Property
Tähän vielä koko esimerkki:
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%
Dim Tuoli2 As Tuoli = New Tuoli
Tuoli2.Laji = "Nojatuoli"
Tuoli2.Ostohinta = 123.5F
Myyntihinta = Tuoli2.LaskeMyyntihinta(50)
Tuoli2.Päällyste = "Nahka"
Tuoli2.Väri = "Ruskea"
'haetaan rekisteröinti pvm, joka on tehnyt "huonekalu" luokassa
Dim pvm As Date = Tuoli2._RekisteröintiPVM
End Sub
'
Public Class Tuoli
Inherits Huonekalu ' perintä luokasta Huonekalu
Private _Päällyste As String
Private _PäällysteenVäri As String
Sub New()
MyBase.New() ' kutsutaan luokan huonekalu luontia
End Sub
Overrides Property Väri() As String ' uusi lisättävä ominaisuus
Get
Return _PäällysteenVäri
End Get
Set(ByVal Value As String)
_PäällysteenVäri = Value
End Set
End Property
Property Päällyste() As String ' uusi lisättävä ominaisuus
Get
Return _Päällyste
End Get
Set(ByVal Value As String)
_Päällyste = Value
End Set
End Property
End Class
'
Public Class Huonekalu
Private _Laji As String
Private _Tyyli As String
Private _Ostohinta As Single
Private _ValmVuosi As Date
Private _Väri As String
Public ReadOnly _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
Overridable Property Väri() As String
Get
Return _Väri
End Get
Set(ByVal Value As String)
_Väri = Value
End Set
End Property
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
' set puuttuu koska vain luettava ominaisuus
End Property
End Class
End Class