Pakiet programów do zdalnego nauczania Programowania Orientowanego Obiektowo
Dzisiaj jest
Środa, 18 Lipiec 2018
Zarejestrowanych użytkowników: 4
Dostępnych pytań testowych: 102
HOME
Strona tytułowa pracy dyplomowej
NAUKA
Materiały dydaktyczne związane z OOP
TESTY
Sprawdzenie poziomu zdobytej wiedzy
ZASOBY
Literatura i zasoby sieciowe o OOP
ŹRÓDŁA
Zbiór projektów dydaktycznych z OOP
KONTO
Możliwość śledzenia własnych postępów
INFO



Klasy i obiekty

Dwoma podstawowymi elementami związanymi z programowaniem zorientowanym obiektowo są klasy i obiekty. Klasy stanowią definicję nowego typu zmiennej. Określają one jakie dane i jakie procedury są ze sobą wzajemnie związane. Obiekty są natomiast egzemplarzami klas, a więc konkretnymi zmiennymi dostępnymi dla programisty. Każdy tworzony obiekt (zwany bardzo często egzemplarzem klasy lub instancją klasy) posiada własny, niezależny zestaw danych zdefiniowanych przez klasę. Tak więc zmiany stanu wewnętrznego wywoływane przez odpowiednie procedury w jednym obiekcie nie przenoszą się bezpośrednio na pozostałe obiekty.

Z pojęciem klasy wiążą się dwa niezwykle ważne w programowaniu obiektowym pojęcia: interfejsu i implementacji.

Interfejs jest w ogólnym przypadku sposobem w jakim klient może komunikować się z obiektami klas. Stanowi go lista publicznych metod zdefiniowanych przez typ klasy z którego wywodzi się dany obiekt. Istotę interfejsu można zilustrować za pomocą następującego kodu:

class Klasa {
public:
	void metoda1();
	void metoda2();
private:
	void metodaPrywatna1();
	void metodaPrywatna2();

	Typ1 s_skladnik;
	Typ2 s_skladnik;
};

Interfejs przedstawionej klasy stanowią wyłącznie metody: metoda1() oraz metoda2(), ponieważ tylko one zostały zadeklarowane jako publiczne. Pozostałe składniki nie stanowią interfejsu, ponieważ nie są dostępne dla klienta (znajdują się w sekcji prywatnej).

Cechą charakterystyczną metod interfejsu jest to, że nie przedstawiają one sposobu w jaki wykonywane są dane zadania, ale udostępniają mechanizm ich wywoływania. Klient klasy nie jest świadomy jakie operacje ani algorytmy są wykonywane są przez określoną metodę publiczną.

Adamik Łukasz, Politechnika Śląska w Gliwicach (AEiI) - 2010/11