ProgramNoweAuto.pdf

(151 KB) Pobierz
Nowe Auto – opis programu
Nowe Auto – opis programu
Zaczniemy od zaprojektowania klas oraz ich zawartości, czyli pól, właściwości i metod.
Klasą bazową będzie klasa NoweAuto zawierająca informacje, takie jak:
model auta,
cena w EURO,
aktualny kurs EURO.
Klasa ta będzie obliczała cenę auta po aktualnym kursie za pomocą metody o nazwie
ObliczCene .
Klasa potomna w stosunku do NoweAuto to AutoZDodatkami .
Będzie ona dziedziczyć wszystkie elementy klasy bazowej oraz dodatkowo posiadać nowe
właściwości:
alarm,
radioodtwarzacz,
klimatyzacja.
Będzie także obliczała cenę auta z dodatkami. Ponieważ nie chcemy mieć różnych nazw
procedur, zastosujemy tu przesłanianie metod. W ten sposób funkcja obliczająca cenę będzie
się tak samo nazywać jak w klasie bazowej – ObliczCene .
Ostatnią klasą będzie Ubezpieczenie , klasa potomna w stosunku do klasy
AutoZDodatkami .
Nowymi elementami będą właściwości:
pierwsze auto,
liczba lat.
Na ich podstawie będziemy mogli dzięki metodzie ObliczCene wyliczać ceny aut
z uwzględnionymi dodatkami oraz wartością ubezpieczenia.
Kod klasy NoweAuto wygląda następująco:
Public Class NoweAuto
Private strModelAuta As String
Private dblCenaEuro As Double
Private dblKursEuro As Double
– Deklaracja pól klasy.
Public Property ModelAuta() As String
Get
Return strModelAuta
End Get
Set ( ByVal Value As String )
strModelAuta = Value
End Set
End Property
Public Property CenaEuro() As Double
Get
Return dblCenaEuro
End Get
Set ( ByVal Value As Double )
dblCenaEuro = Value
End Set
End Property
Public Property KursEuro() As Double
Get
Return dblKursEuro
End Get
Set ( ByVal Value As Double )
dblKursEuro = Value
End Set
End Property
– Deklaracja właściwości klasy.
Public Sub New ( ByVal Kurs, ByVal Cena)
dblCenaEuro = Cena
dblKursEuro = Kurs
End Sub
– Konstruktor klasy bazowej pozwala na wprowadzenie danych do obiektu w momencie jego
inicjowania.
Public Overridable Function ObliczCene() As Double
Return dblKursEuro * dblCenaEuro
End Function
– Metoda ObliczCene - słowo Overridaable informuje kompilator, że ta funkcja będzie
przesłaniana w klasie potomnej.
End Class
– Klasę AutoZDodatkami definiujemy w następujący sposób:
Public Class AutoZDodatkami
Inherits NoweAuto
– Informacja, że klasa dziedziczy z klasy NoweAuto .
Private dblAlarm As Double
Private dblKlimatyzacja As Double
Private dblRadioodtwarzacz As Double
– Deklaracja nowych pól klasy potomnej .
Public Property CenaAlarm() As Double
Get
Return dblAlarm
End Get
Set ( ByVal Value As Double )
dblAlarm = Value
End Set
End Property
Public Property CenaKlimatyzacja() As Double
Get
Return dblKlimatyzacja
End Get
Set ( ByVal Value As Double )
dblKlimatyzacja = Value
End Set
End Property
Public Property CenaRadioodtwarzacz() As Double
Get
Return dblRadioodtwarzacz
End Get
Set ( ByVal Value As Double )
dblRadioodtwarzacz = Value
End Set
End Property
– Deklaracja nowych właściwości klasy potomnej
Public Sub New ( ByVal cena, ByVal kurs, ByVal Alarm, ByVal Klimatyzacja,
ByVal Radioodtwarzacz)
MyBase .New(cena, kurs)
CenaAlarm = Alarm
CenaKlimatyzacja = Klimatyzacja
CenaRadioodtwarzacz = Radioodtwarzacz
End Sub
Utworzenie konstruktora klasy odbywa się następująco: najpierw poprzez słowo kluczowe
Mybase wywoływany jest konstruktor klasy bazowej, następnie dodawane są nowe elementy
konstruktora dla klasy AutoZDodatkami .
Public Overrides Function ObliczCene() As Double
Return MyBase .ObliczCene + CenaAlarm + CenaKlimatyzacja +
CenaRadioodtwarzacz
End Function
– Metoda przesłaniająca – kompilator jest o tym informowany przez słowo kluczowe
Overrides .
End Class
– Ostatnia klasa to Ubezpieczenie .
Public Class Ubezpieczenie
Inherits AutoZDodatkami
– Klasa potomna w stosunku do klasy AutoZDodatkami .
Private bPierwszeAuto As Boolean
Private intIloscLat As Integer
– Deklaracja nowych pól klasy Ubezpieczenie .
Public Property PierwszeAuto() As Boolean
Get
Return bPierwszeAuto
End Get
Set ( ByVal Value As Boolean )
bPierwszeAuto = Value
End Set
End Property
Public Property Ilosclat() As Integer
Get
Return intIloscLat
End Get
Set ( ByVal Value As Integer )
intIloscLat = Value
End Set
End Property
– Deklaracja nowych właściwości klasy Ubezpieczenie .
Public Sub New ( ByVal Cena, ByVal kurs, ByVal Alarm, ByVal Klimatyzacja,
ByVal Radioodtwarzacz, ByVal Pierwsz, ByVal Lata)
MyBase .New(Cena, kurs, Alarm, Klimatyzacja, Radioodtwarzacz)
bPierwszeAuto = PierwszeAuto
intIloscLat = Lata
End Sub
– Definiowanie konstruktora klasy –wywołanie konstruktora klasy bazowej z użyciem słowa
MyBase .
Public Overrides Function ObliczCene() As Double
If bPierwszeAuto Then
Return MyBase .ObliczCene
– Wywołanie funkcji ObliczCene z klasy bazowej za pomocą słowa kluczowego MyBase dla
posiadacza pierwszego auta (dla niego nie ma żadnej zniżki w ubezpieczeniu).
End If
Return MyBase .ObliczCene - intIloscLat * 0.01 * MyBase .ObliczCene
– Obliczenie ceny z ubezpieczeniem, za każdy rok posiadania auta jest odliczany 1% wartości
auta
End Function
End Class
Program ma już zdefiniowane wszystkie klasy.
Możemy teraz przejść do kodu aplikacji i wykorzystać przygotowane właściwości i metody.
Deklarujemy zmienną globalną, przechowującą informację, jaki wariant obliczeń wybraliśmy.
Zgłoś jeśli naruszono regulamin