PO Obiektowe modelowanie dziedziny

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania

Wprowadzenie

Programowanie obiektowe (ang. object-oriented programming) jest obecnie najpopularniejszą techniką tworzenia programów komputerowych. Program komputerowy wyraża się się jako zbiór obiektów będących bytami łączącymi stan (czyli dane) i zachowanie (czyli metody, które są procedurami operującymi na danych obiektu). W celu realizacji zadania obiekty wywołują nawzajem swoje metody zlecając tym samym innym obiektom odpowiedzialność za pewne czynności. W porównaniu z tradycyjny programowaniem proceduralnym, w którym dane i procedury nie są ze sobą związane, programowanie obiektowe ułatwia tworzenie dużych systemów i współpracę wielu programistów. Programy obiektowe łatwiej jest rozwijać i ponownie wykorzystywać ich fragmenty.

Historia programowania obiektowego

Pierwszy język obiektowy – Simula 67 – powstał już w latach sześćdziesiątych ubiegłego stulecia. Jego twórcami byli Ole-Johan Dahl i Kristen Nygaard z Norsk Regnesentral w Oslo. Podczas ich pracy nad symulacją statków musieli dla każdego rodzaju statku uwzględniać wiele atrybutów. Ponieważ liczba modelowanych rodzai statków była duża, uwzględnienie wszystkich możliwych zależności między atrybutami stało się problematyczne. Pojawił się pomysł, aby pogrupować różne rodzaje statków w klasy obiektów. Każda klasa obiektów sama miała być odpowiedzialna za definiowanie swoich danych i zachowania. Simula była pierwszym językiem programowania, w którym wprowadzono pojęcie klasy i jej egzemplarza. Warto tu zwrócić uwagę, że zgodnie z nazwą języka takie odwzorowanie obiektów spotykanych w świecie rzeczywistym na obiekty programowe można nazwać symulacją.

Nie długo potem w laboratorium badawczy Xerox's Palo Alto stworzono Smalltalk. Jego głównym pomysłodawcom był Alan Kay. Smalltalk zawierał wiele rewolucyjnych pomysłów w tym dziedziczenie i zyskał sobie sporą popularność. W pewnej skali był również z powodzeniem stosowany w praktyce. Standardem przemysłowym programowanie obiektowe stało się jednak dopiero w latach dziewięćdziesiątych za sprawą języka C++, który jest obiektowym rozszerzeniem C. Obecnie najpopularniejszym językiem obiektowym i równocześnie najpopularniejszym językiem programowania w ogóle jest Java.

Znajomość języka obiektowego takiego jak Java jest niezbędna, aby zostać programistom obiektowym, jednak zgodnie z powiedzeniem "posiadanie młotka nie czyni architektem" zanim przyjrzymy się konstrukcjom spotykanym w obiektowych językach programowania wyjaśnijmy kilka pojęć i nauczmy się tego co najważniejsze, czyli co to znaczy myśleć obiektowo.