Wstęp do programowania obiektowego

advertisement
Wstęp do programowania
obiektowego
Język programowania obiektowego a język
programowania strukturalnego
Język programowania obiektowego to typ języka
programowania, w którym programista tworzy moduły
programowe (obiekty zawierające dane i procedury
manipulowania tymi danymi), a kod programu tworzy przez
operowanie obiektami i tworzenie powiązań między nimi.
Język programowania strukturalnego (inaczej język
algorytmiczny) to typ języka programowania, w którym
programista, tworząc kod programu, nie operuje na obiektach,
lecz tworzy kod programu linijka po linijce, pisząc procedury i
funkcje.
Programowanie obiektowe
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.
Zastosowanie programowania obiektowego
Techniki programowania obiektowego wykorzystywane są przez
programistów do konstruowania większych programów,
wykorzystujących przede wszystkim rozbudowany interfejs
graficzny. Tak stworzone programy operują na obiektach.
Koncepcja obiektów jako składowych programu wyrosła z
potrzeby modelowania podmiotów świata rzeczywistego na
użytek symulacji komputerowej.
Każdy obiekt charakteryzuje się pewnym zachowaniem, które
będzie modelowane, jak również pamięta opisujące go pewne
informacje.
Obiekt a klasa
W wyniku programowania obiektowego powstają programy
utworzone z użyciem obiektów i klas.
Obiekt to podstawowy element programu łączący opis stanu
pewnej cząstki rzeczywistości (czyli dane obiektu) z jej
zachowaniem (czyli funkcjami obiektu).
Inaczej mówiąc obiekt jest zestawem podprogramów i danych.
W programowaniu obiektowym dane obiektu nazywa się
polami, a podprogramy – metodami. A zgrupowanie pól i
metod w jednej strukturze danych, czyli w obiekcie nazywa
się hermetyzacją.
Klasa to złożony typ będący opisem (definicją) pól i metod
obiektów do niej należących..
Inaczej mówiąc obiekty są elementami składowymi klas.
Na podstawie wspólnych cech obiekty wchodzą ze sobą w
interakcje i na tej podstawie grupujemy je w klasy.
Języki z cechami obiektowości
– C++ - historycznie rzecz biorąc jest językiem proceduralnym,
wzbogaconym o elementy obiektowości;
– Java - zaprojektowany głównie do programowania
obiektowego, ale posiadający także pewne elementy
proceduralności;
– JavaScript;
– PHP ;
– Visual Basic.
Cechy obiektowego języka programowania
Powszechnie uważa się, że najważniejsze są następujące cechy:
• dziedziczenie, które polega na przypisywaniu tworzonej
klasie wszystkich cech i zachowań klasy istniejącej
• 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
zaprogramowano dane cechy
• polimorfizm (wielopostaciowość) – dla jednej metody
określonej przez wspólny nagłówek istnieje wiele postaci
treści tej metody
• enkapsulacja (hermetyzacja) - zapewnia, że obiekt nie może
zmieniać stanu wewnętrznego innych obiektów w
nieoczekiwany sposób
Źródła:
Informatyka cz.2, podręcznik, wyd. WSiP
www.wikipedia.pl
Przykłady obiektu w języku Pascal
W języku Pascal funkcjonują przykłady
obiektu (typu obiektowego). Jednym z nich jest obiekt żółwia,
który jest modelem z języka Logo, dysponujący metodami tzw.
grafiki żółwia.
Żółw jest abstrakcyjnym kursorem graficznym, który ma pisak,
potrafi się poruszać i pamięta dane o swoim bieżącym
położeniu na ekranie graficznym. Położenie to jest określone
przez współrzędne punktu (x,y) oraz kierunek ustawienia
żółwia.
W języku Pascal obiekt jest złożoną strukturą danych o
ustalonej liczbie składowych. Są nimi pola i metody.
Pola mogą być różnych typów, także strukturalnych. Metody zaś
są procedurami lub funkcjami i określają czynności
wykonywane na obiekcie lub przez obiekt. Typ obiektowy
nazywamy klasą, a zmienną typu obiektowego obiektem.
Definicja klasy w języku Pascal ma postać:
type nazwaKlasy=object
…
end;
i może wystąpić tylko w bloku programu lub w interfejsie
modułu.
Jeśli definicja klasy znajduje się w programie, to deklaracje
metod z tej klasy podaje się w tekście programu po tej
definicji.
Jeśli definicja klasy znajduje się w module, to deklaracje metod z
tej klasy podaje się w treści modułu, czyli po słowie
implementation.
Przetestuj przykład obiektu w języku Pascal
na programie NKaty ☺
Ćwiczenie
Uruchom program NKaty i tak go zmodyfikuj, aby
rysował piramidę złożoną z kwadratów. Przyjmij,
że liczba kwadratów w podstawie piramidy oraz
długość boku kwadratu są stałymi w programie.
☺
Download