C 10 Klasy

background image

10. Klasy

background image

KLASY

Stworzenie modularyzacji programów.
Umo liwienie definiowania typu u ytkownika.
Typ u ytkownika b dzie obejmował dane i metody działania na nich.

1. Składowe struktury:

a) dane
b) funkcje

(

metody

)

struct

nazwa_struktury

{ public:

//specyfikator dost pu

deklaracje składowych danych

deklaracje/definicje składowych funkcji (metod)

};

Metody to składowe funkcje słu

ce do obsługi składowych danych

Zawarcie w definicji struktury(klasy) danych i metod nazywa si

enkapsulacj

2. Kontrola dost pu do składowych struktury i klasy

Je li zastrze emy, eby

tylko(!)

funkcje składowe:

a) zale ały bezpo rednio od reprezentacji danych
b) były u ywane do działania na obiektach tego typu

to dane powinny by zadeklarowane ze specyfikatorem dost pu

private

Uwagi

:









struktura jest klas , której metody s domy lnie publiczne,









funkcje nie-metody nie maj dost pu do prywatnych składowych klasy,









tylko funkcje-metody mog "obsługiwa " składowe klasy,









prototypy metod nale y umieszcza w definicji klasy,









cz

publiczna stanowi interfejs do obiektów klasy,









definicje funkcji mog wyst pi w dowolnym miejscu,









w celu powiadomienia kompilatora, e funkcja jest metod okre lonej klasy
nale y wykorzysta operator zasi gu (::).

struct

nazwa_struktury

{

public:

deklaracje danych

deklaracje/definicje funkcji (metod)

private:

deklaracje danych

deklaracje/definicje funkcji (metod)

};

class

nazwa_klasy

{

private:

deklaracje danych

deklaracje/definicje funkcji (metod)

public:

deklaracje danych

deklaracje/definicje funkcji (metod)

};

Klasa jest typem deklarowanym przez u ytkownika

Nazwa_struktury

definiuje nowy typ danych zwanych

obiektami

background image

Korzy ci wynikaj ce z takiego sposobu post powania:









bł d powoduj cy zł manipulacj danymi musi by spowodowany kodem
metody,









u ytkownikowi takiego nowego typu (class) wystarczy zapozna si z de-
klaracj metody eby wiedzie jak z niej korzysta .

3. Konstruktory

Klasa to typ obiektu

(a nie sam obiekt), wi c składowe dane nie mog by ini-

cjowane w zwykły sposób!!!

Do inicjowania obiektów danej klasy słu

konstruktory

.

Konstruktor – specjalna funkcja jawnie przeznaczona do inicjowania obiektów.
Cechy konstruktora:

1.

jest funkcj

2.

nie ma typu zwracanej warto ci

3.

ma tak sam nazw co klasa

4.

jest wywoływany automatycznie (je li jest konstruktor, to obiekty b d ini-
cjowane automatycznie

5.

mo e (cho nie musi) mie argumenty

6.

do konstruktorów stosuje si te same reguły przeci

ania co do innych

funkcji

4. Składowe statyczne

1.

Dana statyczna to zmienna, która:

a)

jest cz

ci klasy,

b)

nie jest cz

ci obiektu tej klasy,

c)

posiada tylko jedn kopi (a nie jedn kopi na ka dy obiekt),

d)

istnieje nawet wtedy, gdy nie został jeszcze zdefiniowany aden
obiekt tej klasy,

e)

definicj składnika statycznego (publicznego/prywatnego) musimy
umie ci tak, aby miała zakres pliku (jak dla zmiennej globalnej).

2.

Metoda statyczna to funkcja, która:

a)

ma dost p do składowych klasy,

b)

nie musi by wywoływana dla okre lonego obiektu;

c)

mo e by wywołana na rzecz samej klasy,

d)

korzysta tylko ze statycznych danych składowych,

e)

dla metody statycznej nie jest zdefiniowany wska nik

this

.

background image

5. Metody stałe

Kwalifikator

const

u yty w deklaracji metody oznacza, e funkcja ta nie modyfi-

kuje obiektu danej klasy.

Uwagi

:









metod stał mo na wywoła zarówno dla obiektów stałych jak i nie-
stałych









metod nie-stał mo na wywoła tylko dla obiektów nie-stałych

6. Samoodwołania

W celu tworzenia ła cucha operacji na danych składowych danej klasy, cz sto
warto przekazywa referencj do aktualizowanego obiektu.

nazwa_klasy

&

nazwa_metody

(

lista_deklaracji_argumentów

)

Je li

nazwa_metody

jest typu referencyjnego, to co jest wynoszone na nazwie

tej funkcji?

this

jest wska nikiem do obiektu dla którego wywołano metod

Uwagi

:









w nie-stałej metodzie klasy

X

, typem

this

jest

X









w stałej metodzie klasy

X

, typem

this

jest

const

X









this

nie jest "zwykł " zmienn :

••••

nie mo na pobra adresu

this

••••

nie mo na przypisa na

this









ka de odwołanie z klasy do jej niestatycznej składowej polega na niejaw-
nym u yciu

this

w celu dostania si do składowej danego obiektu

7. Funkcje pomocnicze

Zwykle klasa ma pewn liczb funkcji z ni zwi zanych, które nie musz by de-
klarowane wewn trz klasy (gdy nie potrzebuj bezpo redniego dost pu do re-
prezentacji); s to tzw. funkcje pomocnicze.

Jak "zwi za " takie funkcje z dana klas ?
Umieszczaj c ich deklaracje w:

••••

tym samym pliku nagłówkowym co deklaracja klasy,

••••

w tej samej przestrzeni nazw co deklaracja klasy.

this


Wyszukiwarka

Podobne podstrony:
C 10 Klasy
10 Klasy String i Vectorid 10567 ppt
2 10 Klasy 3
Polska i sąsiedzi, 10.Klasy bonitacyjne gleb w Polsce
Konspekt 2 10.09 2k., Konspekty klasy 1-3
Konspekt 10 16.09 1k., Konspekty klasy 1-3
Konspekt 3 10.09 5k., Konspekty, Konspekty klasy 4-6
Konspekt 30 01.10 5k., Konspekty, Konspekty klasy 4-6
10 PROCESY TECHNOLOGICZNE części klasy koło zębate
07.10.08-Scenariusz zajęć dla klasy III-W świecie lini łamanych, Konspekty
Konspekt 2 10.09 2k., Konspekty klasy 1-3
Rozkład materiału nauczania dla klasy IIIm na rok szkolny 10 11
10 Metody otrzymywania zwierzat transgenicznychid 10950 ppt
10 dźwigniaid 10541 ppt

więcej podobnych podstron