|
RHS |
TouristicRental03
Klassen Bicycle
Hastværk er lastværk! Vi glemte en attribut som kan fortælle om den pågældende
cykel er udlejet eller ej.
Tilføj en variabel, isRented (default-værdi
bør være false) med tilhørende
property: IsRented (både get og set).
Klassen Rental
For at kunne registrere en udlejning har vi yderligere brug for en klasse:
Rental.
Klassen skal have følgende attributter:
Klassen Shop
Endelig skal vi have en klasse som kan binde det hele sammen: Shop.
Shop skal indeholde Main() som blot skal udføre følgende:
Init() skal fylde en Collection op med de cykler vi ejer - vi vælger
her en ArrayList, kaldet bicycles.
I den endelige version vil vi læse fra en database, men her
fylder vi Init() med en masse statements der danner objekter af de to forskellige
slags cykler og tilføjer (add()) hvert objekt til bicycles.
Open() vil i den endelige version være udstyret med en smart GUI hvorfra
man kan udføre alskens operationer.
Vi kan ikke GUI endnu og vi gider ikke tekst-orienteret så vi "snyder"
lidt igen og opretter et par Rental objekter (husk at opdatere cyklens
IsRented property).
Vi får brug for en Collection mere til at holde på
vores Rental-objekter - igen vælger vi en ArrayList.
For at simulere lidt dynamik skal mindst et par af dagens Rental objekter.
Det
er her du skal beregne (og udskrive) lejen som skal betales for cyklen.
Find et tilfældigt
tal som repræsenterer længden af lejeperioden i timer til
brug for metoden
getAmount().
Før lukketid skal vi gøre status for dagen så du skal tilføje statements som udskriver indholdet af de to ArrayList's.
Når dagen er omme skal butikken lukkes - så det sidste Open() skal udføre er et kald af metoden Close().
I Close() ville vi gemme dagens registreringer (hvis det da ikke var gjort løbende). Her udskriver vi blot "Tak for idag" - senere fylder vi lidt mere funktionalitet i metoden.