Zadanie zaliczeniowe nr 1 (MSUI.JiPP-PO 2003/2004) Napisz w Smalltalku hierarchię klas opisujących pracowników. Wyraź w tej hierarchii następujące fakty: · wszyscy pracownicy są ludźmi, · każdy kierownik, konsultant i asystent jest pracownikiem. Stwórz też klasę opisującą biuro. Tak zaprojektuj klasy by: · każdy człowiek znał swoje imię i nazwisko, · każdy pracownik znał swoje biuro, · każdy kierownik znał swoich bezpośrednich podwładnych, · każdy konsultant znał swoją dziedzinę (tu wystarczy, że będzie znał jej nazwę), · każdy asystent znał swojego przełożonego, · każde biuro znał swoich pracowników, · każde biuro miało nazwę. Każdy z ludzi musi umieć podać swój opis w postaci napisu (komunikat print). Opis ma zawierać wszystkie informacje, które zna dany człowiek (np. nazwę biura, czy nazwę swojej dziedziny). Biuro powinno wypisywać swój opis do okienka Transcript. Opis biura to jego nazwa i opisy poszczególnych pracowników. Pamiętaj, żeby nie pisać od nowa rzeczy, które raz już napisałeś i pamiętaj o zasadzie „leniwy ale uczciwy”. Napisz fragment programu w Smalltalku, który utworzy kilka (ok. 10) obiektów reprezentujących pracowników pracujących w przykładowym biurze na różnych stanowiskach, umieści ich w jednym biurze, a następnie wypisze opis biura. Zadbaj o to, by tworzenie nowych obiektów było jak najprostsze. · Pisanie do okienka Transcript realizuje następujące wyrażenie: out (metoda out wykorzystuje metodę print). Napisy można ze sobą łączyć operacją , . Posługiwanie się kolekcją: · OrderedCollection new, daje nową (pustą) kolekcję, · k add: x, dodaje na koniec kolekcji k nowy element x, · k do: [ :p | ], wykonuje czynność dla każdego elementu kolekcji k. Opis czynności to dowolny ciąg instrukcji Smalltalkowych porozdzielanych kropkami. Można w nim odwoływać się do obiektu p (nie podając dwukropka). Uwaga: zarówno nawiasy [ ] jak i kreska pionowa | są w tym przykładzie potrzebne.