16 Pakiety
Stwórz pakiet o nazwie
cars. Wewnątrz tego pakietu utwórz klasęCarzawierającą trzy prywatne pola:brand,modeliyearOfProduction. 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:DogiCat. Oba powinny zawierać polanameiage. Każda z klas powinna posiadać metodęmakeSound(). Dla klasyDogmetoda 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:
employeesitools. W pakiecieemployeesutwórz klasęEmployeez polamifirstName,lastNameorazsalary. Polesalarypowinno być chronione (protected). W pakiecietoolsstwó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:televisionsiphones. W podpakiecietelevisionsutwórz klasęTelevisionz polamibrandiscreenDiagonal. W podpakieciephonesutwórz klasęPhonez polamibrandioperatingSystem. 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:
booksilibrary. W pakieciebooksstwórz klasęBookz polamititle,authoripublicationYear. W pakiecielibrarystwórz klasęShelfzawierającą listę książek oraz metody umożliwiające umożliwiające dodawanie i usuwanie książek. Aby korzystać z klasyBookw 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:AccountiBank. KlasaAccountpowinna posiadać prywatne polaaccountNumber,balanceoraz metodydeposit(double amount)iwithdraw(double amount). KlasaBankpowinna 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 pakietembanki 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ąAnimalz polami:nameiageoraz metodąmakeSound(). Następnie, w tym samym pakiecie, stwórz dwie klasy pochodne:DogiCat, 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ąComputerz polami:brandiprocessor. Następnie stwórz dwie klasy pochodne:LaptopiDesktop. KlasaLaptoppowinna dodatkowo posiadać poleweight, a klasaDesktoppolecaseType. 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ąEmployeez polami:firstName,lastNameisalary. Następnie stwórz dwie klasy pochodne:ManageriDeveloper. KlasaManagerpowinna dodatkowo posiadać polebonus, a klasaDeveloperpoleprogrammingLanguage. 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.