22 dziedziczenie klas











Dziedziczenie klas

Spróbujmy skonstruować klasę, która opisuje figury geometryczne. Pojawia
się problem opisując koło i prostokąt, gdyż nie bardzo można tymi samymi
zmiennymi opisać obie figury. Nie mówiąc już o obliczeniu pola powierzchni lub
obwodu. Jednakże wszystkie te figury mają pole. Zdefiniujmy klasę która posiada
jedno pole:

class FIGURA
{
double pole;
};
Mamy klasę bazową. Ale dalej nie wiemy czy figura jest kołem czy
kwadratem. Zdefiniujmy sobie klasy pochodne, które będą dodtkowo opisywać
figurę. Klasy pochodne będą miały pola i metody klasy bazowej oraz te które my
dodatkowo dodamy.

class KOLO: public FIGURA
{
double promien;
void pole_powierzchni();
};

class TROJKAT: public FIGURA
{
double a,h;
void pole_powierzchni();
};

class KWADRAT: public FIGURA
{
double a;
void pole_powierzchni();
};

W tym momencie mamy wystarczające dane aby obliczyć pole powierzchni
każdej z figur. Klasy można dziedziczyć wielokrotnie. Tzn, klasa pochodna może
być klasą bazową dla innej klasy. Teraz tylko trzeba oprogramować te klasy,
przypisać polom wartości i wywołać metody. Metody powinieneś już potrafić
skonstruować samodzielnie.Klasa pohodna może mieć kilka klas bazowych.
Trzeba podać liste klas bazowych przy definicji klasy. W klasach bazowych nie
mogą wystąpić pola i funkcje o tych samych nazwach. Umiejscowienie dwukropka za
nazwą klasy wskazuje na obecność listy klas bazowych. W naszym przypadku była
tyklo jedna. Powróć gdy przeczytasz o ochronie danych!!! Idż tam
Każda klasa bazowa musi być zdefiniowana przed definicją klasy
pochodnej. Klasę bazową można deklarować jako publiczną, chronioną lub prywatną.
Pola i metody dostępne w klasie bazowej będą z takim atrybutem w klasie
pochodnej.




Wyszukiwarka

Podobne podstrony:
Ćwiczenie 4 Dziedziczenie klas
USTAWA O OCHRONIE OSÓB I MIENIA Z 22 SIERPNIA 1997 R
E 22 Of Domine in auxilium
BAZA PYTAŃ 22
ustawa 22 poz 251 z 2001r
22 Ostrzeganie i alarmowanie
22 Planowanie podstawowego żywienia dietetycznego

więcej podobnych podstron