źródła: źródła: www.wikipedia.pl podręcznik opracował: A

Transkrypt

źródła: źródła: www.wikipedia.pl podręcznik opracował: A
źródła:
www.wikipedia.pl
podręcznik
opracował:
A. Jędryczkowski
Programowanie obiektowe
(ang. object-oriented programming) to metodologia
tworzenia programów komputerowych, która definiuje
programy za pomocą "obiektów" - elementów łączących
stan (czyli dane) i zachowanie (czyli procedury, tu:
metody). Obiektowy program komputerowy wyraŜony
jest jako zbiór takich obiektów, komunikujących się
pomiędzy sobą w celu wykonywania zadań. Podejście
to róŜni się od tradycyjnego programowania
proceduralnego, gdzie dane i procedury nie są ze sobą
bezpośrednio związane. Programowanie obiektowe ma
ułatwić pisanie, konserwację i wielokrotne uŜycie
programów lub ich fragmentów.
Największym atutem programowania, projektowania
oraz analizy obiektowej jest zgodność takiego podejścia
z rzeczywistością - mózg ludzki jest w naturalny sposób
najlepiej przystosowany do takiego podejścia przy
przetwarzaniu informacji.
Od urodzenia cały świat jawi się nam jako zbiór
obiektów, które wchodzą ze sobą w interakcje. Obiekty te
w trakcie poznawania coraz większej ich ilości grupujemy
w klasy.
Do obiektów odwołujemy się poprzez metody.
Abstrakcja
KaŜdy obiekt w systemie słuŜy jako model abstrakcyjnego
"wykonawcy", który moŜe wykonywać pracę, opisywać
i zmieniać swój stan, oraz komunikować się z innymi
obiektami w systemie, bez ujawniania, w jaki sposób
zaimplementowano dane cechy. Procesy, funkcje lub
metody mogą być równieŜ abstrahowane, a kiedy tak się
dzieje, konieczne są rozmaite techniki rozszerzania
abstrakcji.
Enkapsulacja (hermetyzacja)
Czyli ukrywanie implementacji, hermetyzacja. Zapewnia, Ŝe
obiekt nie moŜe zmieniać stanu wewnętrznego innych
obiektów w nieoczekiwany sposób. Tylko wewnętrzne
metody obiektu są uprawnione do zmiany jego stanu. KaŜdy
typ obiektu prezentuje innym obiektom swój "interfejs", który
określa dopuszczalne metody współpracy. Pewne języki
osłabiają to załoŜenie, dopuszczając pewien poziom
bezpośredniego (kontrolowanego) dostępu do "wnętrzności"
obiektu. Ograniczają w ten sposób poziom abstrakcji.
Polimorfizm (wielopostaciowość)
Referencje i kolekcje obiektów mogą dotyczyć obiektów
róŜnego typu, a wywołanie metody dla referencji spowoduje
zachowanie odpowiednie dla pełnego typu obiektu
wywoływanego. Jeśli dzieje się to w czasie działania
programu, to nazywa się to późnym wiązaniem lub
wiązaniem dynamicznym.
Dziedziczenie
Porządkuje i wspomaga polimorfizm i enkapsulację dzięki
umoŜliwieniu definiowania i tworzenia specjalizowanych
obiektów na podstawie bardziej ogólnych. Dla obiektów
specjalizowanych
nie
trzeba
redefiniować
całej
funkcjonalności, lecz tylko tę, której nie ma obiekt
ogólniejszy. W typowym przypadku powstają grupy
obiektów zwane klasami, oraz grupy klas zwane drzewami.
Odzwierciedlają one wspólne cechy obiektów.
Przykład:
Obiekt: samochód
Metody: dodaj gazu, hamuj, włącz światła, itp...
Abstrakcja: tablica rozdzielcza wyświetla dane o samochodzie nie
ujawniając szczegółów swojej budowy.
Enkapsulacja: nawigacja w samochodzie odczytuje dane
z (obiektu)satelity nawigacyjnego nie zmieniając stanu tego satelity.
Polimorfizm: naciśnięcie pedału gazu powoduje reakcję róŜnych
obiektów powiazanych (pompy wtryskowej, silnika, itp...)
Dziedziczenie: chcąc zdefiniować obiekt SAMOCHÓD moŜemy
skorzystać (odziedziczyć) cechy innych (wcześniej zdefiniowanych)
obiektów jak: silnik, koło, Ŝarówka, itp...
źródła:
www.wikipedia.pl
podręcznik
opracował:
A. Jędryczkowski