Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






МҰРАГЕРЛІК. ЖАЛҒЫЗДАНҒАН ЖӘНЕ КӨПШЕ ТҮРДЕГІ МҰРАГЕРЛІК






ЖҰ МЫС МАҚ САТЫ: ОБП-дың негізгі қ асиеттерінің бірі – мұ рагерлік ұ ғ ымымен, оның тү рлерімен жә не жү зеге асу принципімен таныстыру. Туынды кластарды қ ұ растыру тә сілдерін мең геру, мұ рагерлік тү рлерін ажырата білу.

ПРАКТИКАЛЫҚ САБАҚ ЖОСПАРЫ:

1. Негізгі теориялық мә ліметтерді қ айталау.

2. Шығ арылғ ан мысал есептерді талқ ылау.

3. Тапсырма ретінде берілген есептерді шығ ару.

4. Ө з бетімен орындауғ а ү й тапсырмасын беру.

5. Сабақ ты қ орытындылау. Блиц-тест.

БАҚ ЫЛАУ СҰ РАҚ ТАРЫ:

1. Мұ рагерлік дегеніміз не?

2. Мұ рагерліктің қ андай тү рлерін ажыратуғ а болады?

3. Туынды класта жә не структурада public, private жә не protected мү мкіндікті компоненттер қ алай мұ ра етіледі?

4. Мү рагерлік жиынында бірмә нділік еместікті қ алай орнатуғ а болады?

5. Туынды класта конструкторларды мен деструкторларды шақ ыру реті жә не мұ рагерлік.

ГЛОССАРИЙ

Мұ рагерлік – класс алдындағ ы ұ рпақ тың барлық қ асиеттерін жә не ә дістерін сақ тай отырып, бір кластың басқ а кластан пайда болу мү мкіндігі.

Жалғ ызданғ ан мұ рагерлік – бір базалық кластан бір немесе бірнеше туынды кластың пайда болуы.

Кө пше тү рдегі мұ рагерлік - туынды кластың қ ұ рамында бірден кө п базалық кластың болуы.

 

1. Тө менде келтірілген мысалдарды талқ ылаң ыз:

1-мысал. Public мұ рагерлік тү рімен туынды класты сипаттау.

#include < iostream.h>

#include < conio.h>

class A

{private: //кластың қ орғ алғ ан (жабық) компоненттері

int numza;

public: //кластың жалпы (ашық) компонеттері

int питоа;

void print (void)

{соut«" А қ орғ алғ ан ө рісі= " «numza«endl;

cout«" А ашық ө рісі = " «numoa«endl; }

А() { numza=20; питоа=50; }

};

class В: public А /*ашық мұ рагерлік – В класына А класының барлық жалпы компоненттері қ ол жетімді*/

{ private: int numzb;

public:

void print (void)

{ соut«" В қ орғ алғ ан ө рісі = " «numzb«endl;

соut«" A жалпы ө рісі =";

cout< < numoa< < endl; }

B(){numzb=100; }

};

void main()

{ clrscr();

A aa; В bb;

cout «" жұ мыс нә тижесі: " «endl;

aa.print();

bb.print();

getch(); }

 

2-мысал. Private мұ рагерлік тү рімен туынды класты сипаттау.

#include < iostream.h>

#include < conio.h>

class A

{private: int numza;

protected: int numpra;

public:

int numoa;

void print(void)

{ cout «" A класының жабық ө рісі = " «numza«endl;

соut«" A класының қ орғ алғ ан ө рісі= " «numpra«endl;

cout«" A класының ашық ө рісі = " «numoa«endl; }

A(){numza=20; numpra=30; numoa=50; }};

class B: private A // кластың барлық компоненттері В класында қ ол жетімсіз

{private: int numzb;

protected:

A:: numpra; /*А класының қ орғ алғ ан ө рісі В класында қ ол жетімді болып хабарланады*/

public:

А:: питоа; /* А класының жалпы ө рісі В класында қ ол жетімді болып хабарланады*/

void print(void)

{соut«" В класының жабық ө рісі = " «numzb«endl;

соut«" В класында қ ол жетімді А класының ашық ө рісі=";

соut< < питоа< < endl;

соut«''В класында қ ол жетімді А класының қ орғ алғ ан ө рісі= ";

cout< < numpra«endl; }

B(){numzb=100; }}:

void main()

{ clrscr();

A aa; В bb;

cout «" жұ мыс нә тижесі: " «endl;

aa.print(); bb.print();

getch(); }

3-мысал. Базалық жә не туынды кластардағ ы конструкторлар жұ мысы.

#include < iostream.h>

#include < conio.h>

class A

{ int a;

public:

int c1;

void print(void) { cout< < a< < " " < < c1< < endl; }

A(int v): a(v){c1=10; } //А базалық класының конструкторы

};

class В: public A

{ int b;

public:

void print(void) { cout«b« " " < < c1 < < endl; }

B(int va, int vb): A(va), b(vb) {} // В класының конструкторы

};

class С: public В

{ int с;

public:

void print(void) { cout< < c< < " " «c1 < < endl; }

C(int va, int vb, int vc): B(va, vb), c(vc){} // С класының конструкторы

};

Void main()

{clrscr();

A aa(10), *pa; // А класының конструкторы шақ ырылады

В bb(10, 100); //А класының, содан соң В класының конструкторы шақ ырылады

С сс(10, 100, 1000); //А, В жә не С кластарының конструкторлары шақ ырылады

bb.c1=25;

сс.с1=35;

aa.print();

bb.print();

cc.print();

ра=& аа;

pa-> print():

pa=& bb;

pa-> print();

ра=& сс;

pa-> print();

getch(); }

 

2. Орындауғ а арналғ ан тапсырмалар:

1. Аты-жө нін, телефонын, туғ ан кү нін жә не туғ ан кү ніне дейінгі кү ндер санын есептейтін функцияны қ осатын «жазба кітапшасы» класы;

2. Дисциплинаны, аудиторияны, басталу уақ ытын жә не сабақ тың басталуына дейінгі уақ ытты есептейтін функцияны қ осатын «сабақ кестесі» класы;

3. Жолды, қ ұ рылғ ан уақ ытын, ағ ымдық уақ ытты жә не жолдың бар уақ ытын есептейтін функцияны қ осатын «жол» класы;

4. Терезе координаты мен тү сін, терезедегі тексті, текст тү сін жә не терезеде тексті ө згерту функциясын қ осатын «терезе» класы;

5. Стандартты жә не экспоненциалды тү рдегі комплекстік санды жә не санның экспоненциалды тү рін есептейтін функцияны қ осатын «комплексті сан» класы.

 

3. Ө з бетімен орындауғ а арналғ ан тапсырмалар (ү й тапсырмасы):

1. Студент, Оқ ытушы, Кафедра мең герушісі кластар иерархиясын қ ұ ру.

2. Жұ мысшы, Бө лім мең герушісі, Директор кластар иерархиясын қ ұ ру.

3. Жануар, Жыртқ ыш, Сү тқ оректі кластар иерархиясын қ ұ ру.

 

БЛИЦ-ТЕСТ

1. Мұ рагерліктің неше тү рі бар?

a) 4 b) 3 c) 2 d) 1

2. Мұ рагерлік тү рі protected тү рінде анық талып, базалық класста компонент public тү рінде сипатталса, туынды класта компонент қ андай тү рде кө рінеді?

a) public b) private c) protected d) мү мкін емес

3. Мұ рагерлік тү рі public тү рінде анық талып, базалық класста компонент protected тү рінде сипатталса, туынды класта компонент қ андай тү рде кө рінеді?

a) public b) private c) protected d) мү мкін емес

4. Мұ рагерлік тү рі private тү рінде анық талып, базалық класста компонент protected тү рінде сипатталса, туынды класта компонент қ андай тү рде кө рінеді?

a) public b) private c) protected d) мү мкін емес

5. Мұ рагерлік тү рлері

a) бір класты, екі класты b) жалғ ызданғ ан, қ осарланғ ан

c) жалғ ызданғ ан, кө пше тү рдегі d) жалғ ызданғ ан, кө бейтілген

 

Ә ДЕБИЕТТЕР:

1. Г.С. Иванова и др. ООП: Учебник для вузов, М., Изд-во МГТУ им.Баумана, 2003.- 368 с.

2. Павловская Т.А. С и С++. Программирование на языке высокого уровня.

3. Р.Вайнер, Л.Пинсон. С++ ИЗНУТРИ.

4. Р. Лафоре. Объектно-ориентированное программирование в С++.4-е издание. Питер.2004

5. Г. Шилдт. Самоучитель C++. - Санкт-Петербург, Изд. BHV, 2004.

6. А.В. Замулин. Курс лекций: Объектно-ориентированное программирование (С++)

7. Подбельский В.В., Фомин С.С. Программирование на языке Си: Учебное пособие. – М.: Финансы и статистика, 2004

 

ПРАКТИКАЛЫҚ ЖҰ МЫС №5-6






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.