Programowanie obiektowe
Programowanie obiektowe ogólnie biorąc polega na operowaniu w programie pewnymi obiektami, które zawierają
dane wraz z tzw. metodami, umożliwiającymi wykonywanie operacji na tych danych. Jedną z idei programowania obiek-
towego jest maksymalne ograniczenie niekontrolowanego dostępu do pól obiektu przechowujących dane. Dostęp do pól
powinien się odbywać wyłącznie przy pomocy metod zdefiniowanych w obiekcie (jest tzw. hermetyzacja). Podstawowa
różnica między programowaniem strukturalnym a obiektowym polega na tym, że przy wywołaniu funkcji są przekazy-
wane dane, przy programowaniu obiektowym natomiast wywołuje się metody, które operują na odpowiednich danych
zawartych w polach obiektu.
Deklaracja klasy:
class nazwa_klasy
{
public:
nazwa_klasy(); //konstruktor
~nazwa_klasy(); //destruktor
pola_klasy;
prototypy_metod_klasy();
private:
prototypy_metod_klasy();
pola_klasy;
};
" Deklaracje klasy umieszcza się zwyczajowo w plikach nagłówkowych z rozszerzeniem .h natomiast definicje
metod klasy umieszcza się w plikach.cpp.
" Podczas deklaracji możliwe jest zagnieżdżanie obiektów polegające na korzystaniu w danej klasie z obiektów innej
klasy.
" Obiekty typu danej klasy tworzy się analogicznie jak zmienne innych typów.
Słowa kluczowe public, private, protected.
" Pola i metody umieszczone po słowiepublicdostępne są bezpośrednio w całym programie, dostęp uzyskuje się
za pomocą operatora kropki (dla obiektów tworzonych statycznie).
" Słowo private ogranicza bezpośredni dostęp do pól i metod umieszczonych po nim tylko do wnętrza danego
obiektu, gdzie zostały zadeklarowane.
" Słowoprotectedumożliwia bezpośredni dostęp do pól i metod w klasie gdzie zostały zadeklarowane jak rów-
nież w klasach pochodnych od danej klasy podczas korzystania z własności dziedziczenia.
Konstruktory i destruktory są to specjalne metody wywoływane podczas tworzenia
obiektu oraz jego usuwania.
" konstruktor nie może posiadać definicji zwracanego typu
" konstruktor bez żadnych argumentów jest konstruktorem domyślnym
" nazwa destruktora musi być poprzedzona znakiem tyldy
" destruktor nie posiada definicji typu zwracanego oraz nie przyjmuje żadnych argumentów
" nazwy konstruktora i destruktora muszą być zgodne z nazwą klasy
" konstruktor i destruktor muszą być zadeklarowane w części publicznej klasy
" domyślny konstruktor może być przeciążany
Przykład deklaracji klasy:
class pojazd
{
int rocznik;
char nazwa[15];
protected:
int rocznik1;
public:
pojazd();
pojazd(int r, char *n);
void ustaw_r (int r);
int pobierz_r ();
void ustaw_naz(char *n);
char *wyswietl_naz();
void ustaw_r1 (int r1) {rocznik1=r1;};
int pojemnosc;
};
Definicje metod dla powyższej klasy:
pojazd::pojazd()
{
rocznik=0;
strcpy(nazwa,"");
}
pojazd::pojazd(int r,char *n)
{
rocznik=r;
strcpy(nazwa,n);
}
void pojazd::ustaw_r(int r)
{
rocznik=r;
}
int pojazd::pobierz_r()
{
return rocznik;
}
void pojazd::ustaw_naz(char *n)
{
strcpy(nazwa,n);
}
char *pojazd::wyswietl_naz()
{
return nazwa;
}
Wyszukiwarka
Podobne podstrony:
[C ]Rataj Podstawy programowania obiektowegoPodstawy Programowania 04 Programowanie ObiektowePROZE 3 Podstawy języka, cd programowanie obiektoweprogram cwiczen z podstaw informatyki 2Informatyka ProgramStudiowI 2007Programowanie Obiektowe Ćwiczenia 5Programowanie Obiektowe W Visual Basic Net Dla Ka degoJavaScript Programowanie obiektoweSN045a Informacje uzupelniajace Sztywnosc podstaw slupów w analizie globalnejProgramowanie obiektowe pojęciaUnia Europejska Informator o programach pomocowych(1)więcej podobnych podstron