Pierwsze zadanie z fascynującego przedmiotu “Laboratorium Programowania Obiektowego i współbieżnego brzmi tak:”
Napisz w Javie hierarchię klas opisujących pracowników pewnej firmy komputerowej. Wyraź w tej hierarchii następujące fakty: * wszyscy pracownicy są ludźmi, * każdy kierownik projektu, projektant, analityk, tester, programista, a nawet sam prezes jest pracownikiem, * każdy kierownik projektu oraz prezes jest kierownikiem. Tak zaprojektuj klasy by: * każdy człowiek znał swoje imię i nazwisko, * każdy pracownik znał swoje stanowisko (tekst) i swego szefa (oczywiście prezes nie ma szefa, szefem kierownika projektu jest prezes, szefami pozostałych pracowników są kierownicy projektów), * każdy pracownik, prócz prezesa, brał udział w dokładnie jednym projekcie, i oczywiście znał ten projekt, * każdy kierownik projektu znał członków swojego projektu, * każdy projektant znał swoją dziedzinę, * prezes był tylko jeden. Stwórz też klasy opisujące: * projekt (zna swoją nazwę), * dziedzinę (wyznaczającą zakres kompetencji projektanta), dziedzina zna swój słowny opis. Każdy z ludzi musi umieć podać swój opis tekstowy (komunikat toString). Opis ma zawierać wszystkie informacje, które zna dany człowiek (np. nazwę projektu, czy pełny opis szefa). Napisz fragment programu w Javie, który utworzy kilka (ok. 10) obiektów reprezentujących ludzi zatrudnionych w przykładowej firmie na różnych stanowiskach, umieści ich w kolekcji, a następnie wypisze opis każdego z nich. Zadbaj o to, by tworzenie nowych obiektów było jak najprostsze. Całość zaprojektuj w postaci pakietu i zapisz jako jeden plik jar (tu mogą się przydać informacje z przedmiotu HTML i Java). Wskazówki: * przy implementacji prezesa posłuż się statyczną metodą produkującą, w celu zrealizowania wzorca Singleton, * rozwiązanie ma obrazować statyczny stan firmy, nie interesują nas zmiany (dynamiczne aspekty stanu firmy, np. to że ktoś awansuje), * zadanie jest proste.
A oto rozwiązanie:
Zadanie 1