16 Pakiety
Stwórz pakiet o nazwie
cars
. Wewnątrz tego pakietu utwórz klasęCar
zawierającą trzy prywatne pola:brand
,model
iyearOfProduction
. Dodaj do klasy odpowiednie metody dostępowe (gettery i settery) oraz konstruktor przyjmujący wszystkie trzy pola. W klasie testującej, poza tym pakietem, stwórz obiekt klasyCar
, nadaj mu wartości i wydrukuj je na ekran.Stwórz pakiet o nazwie
animals
. Wewnątrz tego pakietu utwórz dwie klasy:Dog
iCat
. Oba powinny zawierać polaname
iage
. Każda z klas powinna posiadać metodęmakeSound()
. Dla klasyDog
metoda ta powinna drukować “Woof, woof!”, a dla klasyCat
- “Meow!”. W klasie testującej, poza tym pakietem, stwórz obiekty obu klas, nadaj im wartości i wywołaj ich metodymakeSound()
.Stwórz dwa pakiety:
employees
itools
. W pakiecieemployees
utwórz klasęEmployee
z polamifirstName
,lastName
orazsalary
. Polesalary
powinno być chronione (protected). W pakiecietools
stwórz klasęSalaryCalculator
, która posiada metodęraiseSalary(Employee employee, double percent)
, która zwiększa pensję pracownika o podany procent. Spróbuj wywołać tę metodę w klasie testującej, poza oboma pakietami, i zastanów się nad problemami dostępu do chronionych pól w różnych pakietach.Stwórz pakiet o nazwie
electronics
. Wewnątrz tego pakietu stwórz dwa podpakiety:televisions
iphones
. W podpakiecietelevisions
utwórz klasęTelevision
z polamibrand
iscreenDiagonal
. W podpakieciephones
utwórz klasęPhone
z polamibrand
ioperatingSystem
. Dla obu klas dodaj odpowiednie gettery, settery oraz konstruktory. W klasie testującej, poza pakietemelectronics
, stwórz obiekty obu klas, nadaj im wartości i wyświetl je.Stwórz dwa pakiety:
books
ilibrary
. W pakieciebooks
stwórz klasęBook
z polamititle
,author
ipublicationYear
. W pakiecielibrary
stwórz klasęShelf
zawierającą listę książek oraz metody umożliwiające umożliwiające dodawanie i usuwanie książek. Aby korzystać z klasyBook
w pakiecielibrary
, musisz zaimportować odpowiedni pakiet. W klasie testującej, stwórz kilka książek, dodaj je do półki i wydrukuj zawartość półki.Stwórz pakiet
bank
. Wewnątrz tego pakietu stwórz dwie klasy:Account
iBank
. KlasaAccount
powinna posiadać prywatne polaaccountNumber
,balance
oraz metodydeposit(double amount)
iwithdraw(double amount)
. KlasaBank
powinna zawierać listę kont oraz metody do tworzenia new kont i realizacji przelewów między nimi. Spróbuj utworzyć konto bezpośrednio w klasie testującej poza pakietembank
i zastanów się, jak modyfikatory dostępu wpłynęły na dostęp do klas i metod w pakiecie.Stwórz pakiet o nazwie
animals
. Wewnątrz tego pakietu utwórz klasę bazowąAnimal
z polami:name
iage
oraz metodąmakeSound()
. Następnie, w tym samym pakiecie, stwórz dwie klasy pochodne:Dog
iCat
, które dziedziczą po klasieAnimal
. Klasy pochodne powinny nadpisywać metodęmakeSound()
. W klasie testującej, poza pakietemanimals
, stwórz obiekty obu klas pochodnych, nadaj im wartości i wywołaj metodęmakeSound()
dla każdego z nich.Stwórz pakiet o nazwie
computers
. W tym pakiecie utwórz klasę bazowąComputer
z polami:brand
iprocessor
. Następnie stwórz dwie klasy pochodne:Laptop
iDesktop
. KlasaLaptop
powinna dodatkowo posiadać poleweight
, a klasaDesktop
polecaseType
. Wszystkie klasy powinny posiadać odpowiednie gettery, settery oraz konstruktory. W klasie testującej, poza pakietemcomputers
, stwórz obiekty obu klas pochodnych, nadaj im wartości i wydrukuj je.Stwórz pakiet o nazwie
company
. Wewnątrz tego pakietu utwórz klasę bazowąEmployee
z polami:firstName
,lastName
isalary
. Następnie stwórz dwie klasy pochodne:Manager
iDeveloper
. KlasaManager
powinna dodatkowo posiadać polebonus
, a klasaDeveloper
poleprogrammingLanguage
. Dodaj odpowiednie metody pozwalające na obliczanie rocznego zarobku (pensja + ewentualne premie). W klasie testującej, poza pakietemcompany
, stwórz obiekty obu klas pochodnych, nadaj im wartości i oblicz ich roczne zarobki.