5
1.2. OBIEKTY I RELACJE
oraz zachowanie (zmiana głośności lub programu, włączenie, wyłączenie...). Prawidłowe określenie stanu i zachowania ma bardzo duże znaczenie dla dalszego sposobu i komfortu „obsługi" obiektu w programie.
Obiekt w ujęciu języków obiektowych jest bardzo podobny do obiektów świata rzeczywistego: także posiada stany (cechy) i przypisane jemu „zachowanie”. Taki obiekt przechowuje swoje stany w zmiennych zwanych polami a wpływ na jego zachowanie mamy za pośrednictwem funkcji, nazywanych też metodami. Metody operując na polach dostarczają jednocześnie podstawowych mechanizmów komunikacji obiekt-obiekt. Zasada ukrywania stanów wewnętrznych obiektu i interakcja z nim tylko poprzez dobrze zdefiniowany zbiór metod znana jest pod nazwą enkapsulacji danych i stanowi fundamentalną zasadę programowania zorientowanego obiektowo.
Każdy utworzony przez programistę obiekt jest instancją pewnej klasy. W tym ujęciu, klasa zdefiniowana przez programistę, staje się nowym typem, który może być używany na równi z typami wbudowanymi. Jako przykład takiej klasy rozważmy klasę Punkt umożliwiającą utworzenie dowolnej ilości obiektów opisujących (różne) punkty, class Punkt {
private : double x; double y;
public :
Punkt(double x, double y); void Przesuń (Wektor w);
Jeśli ponad to założymy, że mamy dostępną klasę Wektor, wówczas staje się możliwe napisanie kodu jak poniżej
Punkt p(1.0 ,2.0);
Wektor w(2.5 , -1.5);
p . Przesuń (w);
Podsumowując:
Programowanie zorientowane obiektowo (ang. object-oriented programming - OOP) to para-