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.
Plik z chomika:
mi-jen66
Inne pliki z tego folderu:
ProgramNoweAuto.pdf
(151 KB)
m28l3a.htm
(10 KB)
m28l5a.htm
(35 KB)
m28l6a.htm
(27 KB)
m28l8a.htm
(10 KB)
Inne foldery tego chomika:
algorytmy
graphics
interfejs
materialy
mod1
Zgłoś jeśli
naruszono regulamin