To tylko jedna z 4 stron tej notatki. Zaloguj się aby zobaczyć ten dokument.
Zobacz
całą notatkę
Programowanie obiektowe
Wstęp
Programowanie obiektowe (ang. object-oriented programming) — metodyka
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.
Programowanie obiektowe a rzeczywistość
Formie w programowaniu obiektowym odpowiada Klasa, materii - instancja obiekt. Jest to najbardziej naturalny sposób rozumienia rzeczywistości - podstawową
cechą mózgu ludzkiego jest klasyfikacja - łączenie występujących w rzeczywistości
obiektów w grupy - klasy.
Podstawowe założenia paradygmatu obiektowego
Cechy języków programowania, które czynią je obiektowymi:
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.
Enkapsulacja - 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.
Polimorfizm - 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. Niektóre języki udostępniają bardziej
statyczne (w trakcie kompilacji) rozwiązania polimorfizmu - na przykład szablony i
przeciążanie operatorów w C++.
Dziedziczenie - Porządkuje i wspomaga polimorfizm i enkapsulację dzięki umożliwieniu
definiowania i tworzenia specjalizowanych obiektów na podstawie bardziej ogólnych.
Historia programowania obiektowego
W punktach – kto wymyślił, pierwsze języki i teraźniejsze.
–
pierwotna koncepcja programowania obiektowego: Simuli 67, (Ole-Johana Dahla i
Kristena Nygaarda z Norsk Regnesentral w Oslo
–
kolejna koncepcja została dopracowana w języku Smalltalk, stworzonym w Simuli w
Xerox PARC,
–
Programowanie obiektowe zyskało status techniki dominującej w połowie lat 80.,
głównie ze względu na wpływ C++, w tym okresie cechy obiektowe dodano do wielu
języków programowania, w tym Ady, BASIC-a, Lisp-a, Pascala i innych.
–
Eiffel Bertranda Meyera był wczesnym przykładem w miarę udanego języka
spełniającego te założenia; obecnie został on w zasadzie całkowicie zastąpiony przez
Javę, głównie za sprawą pojawienia się Internetu,
1. Pojęcia klasy i obiektu. Przykład klasy i kilku obiektów tej klasy.
Obiekt to podstawowe
... zobacz całą notatkę
Komentarze użytkowników (0)