ОБЪЕКТІЛІ-БАҒЫТТАЛҒАН ПРОГРАММАЛАУ (ОБП)
Презентация қосу
Орындаған: Нұржанова С.Н.
Тобы: ВТ-405
Тексерген: Жаксыгулова Д.Д.
Объектілі-бағытталған программалау негізі.
Кластар иерархиясы.
Объект қасиеттері: инкапсуляция, тұқым
қуалау, полиформизм.
Конструкторлар мен деструкторлар.
• ОБП элементтері 70-ші жылдарда
Симула тілінде модельдеуде
қолданылды. Қазірде кең құлаш
жайған программалау
технологиясына айналып отыр. ОБП
негізгі мақсаты – программа құруда
деңгейін көтеру. С++ тіліндегіі ОБП
негізін қалаушы – Бьярне
Страуструп, 80-жылдары Bell Labs
компаниясында өңдеген.
ОБП -ды қолданудың негізгі үш ерекшелігі
бар:
1. Программа коды
ықшамдалады және
құрылымы жақсарады.
3. Тиімді құрылған класты
2. Программаға программалық
кітапханалық файлдар сақтап, оны
бағыттарды қосу және алып тастау
қажетінше қолдану мүмкіндігі бар.
жеңіл орындалады (программаны
ОБП-да объектілердің байланысы
модернизациялау жеңіл, яғни онда
мен өзара әрекеттестігінің
бар кластың ұрпақ класын құру
схемасын сипаттау арқылы есеп пен
арқылы жүзеге асырылады).
оның шешімі қарастырылады.
• С++-тегі класс структураның кеңейтілген түрі және
объект құруға арналған. С++-тегі класс шаблон
секілді, оның негізінде объектілер құрылады. Кез-
келген кластың бірнеше ішкі кластары болуы
мүмкін. Кластар иерархиясы құрылады, баба класы
жалпы сипаттаға әдістерден тұрады. Кластың
құрамын арнайы кілттік сөздердің көмегімен
реттеуге болады. Олар: public - «ашық», «көрінетін»
бөлігі private - «тасаланған» бөлігі («жабық»)
protected - «қорғалған» бөлігі. «Көрінетін»
бөлігіндегі сипатталған әдістер класты қолданатын
кез-келген программадан шақырылады, яғни
кластың интерфейсін құрайды. «Тасаланған»
бөлігіндегі элементтер тек өзінің әдістерінде
қолданылады, ал«қорғалған» бөлігіндегі
элементтер өз әдістері мен ұрпақ кластарда
қолданылады
Объект қасиеттері: инкапсуляция, тұқым
қуалау, полиформизм.
Тұқым қуалау қасиеті деп баба
класынан ұрпақтарына
мәліметтер мен әдістердің
берілуін атайды.
Егер кластың атрибуттары бір
баба кластан берілсе, онда
Инкапсуляция дегеніміз – бір жалғыздық (одиночный) тұқым
қуалау деп атайды.
структурада мәліметтермен
қатар оларды өңдеуге
арналған функциялардың
Полиморфизм
берілуі (әдістердің). Полиморфизм класс иерархиясымен
байланысты, иерархиядағы бірнеше
класқа бірдей хабарлама беру
мүмкіндігінің болуы, яғни қандай
кластың қайсысы келген хабарды
өңдеу құқығын алатынын анықтау –
полиморфизм деп аталады. Бір
иерархиядағы әртүрлі класта болатын
және бір атпен аталған және virtual
қызметші сөзімен сипатталған әдіс
виртуальді әдіс деп табылады.
# include <
# include
void set_v(double
set_v(double ang);
ang);
double get_sin(void); void obj_type :: data = ang; }
} double obj_type ::
set_v(double ang)
obj; get_sin(vold) {
{ return (sin(0.01*data);
Конструкторлар класс айнымалыларын Деструктор – бұл да айрықша функция,
инициализациялауға және жадыдан жойылатын объект алып тұрған
орын бөлуге арналған айрықша функция динамикалық жадыны босату қызметін
болып табылады. Конструктор аты өзі атқарады. Деструктордың да аты класс
тиісті класс атымен бірдей болады. Класс атымен бірдей, тек алдында ~ (тильда)
объектісін құру барысында қажетті жазылады. Деструктор – класс объектісіне
сілтейтін көрсеткіш арқылы анықталған
конструктор автоматты түрде
delete операторы кездескенде
шақырылады. Егер класс сипатында шақырылады. Деструктордың
конструктор сипатталмаған болса, онда конструктордан айырмашылығы ешқандай
компилятор стандартты класс құрады. аргументтен тәуелді емес. Егер деструктор
айқын түрде анықталмаса, компилятор класс
## include
include
## include
include
үшін стандартты деструктор бөледі. Класс
class string
char
char ** Q Q string;
string;
деструкторы мен конструкторы С++ тілінде
int
int strieng;
strieng;
public
динамикалық жадыны үлестіру және босату
string (char*);(конструктор)
~
үшін сәйкесінше Nen, delete қолданылады.
~ string
string (( );
); }(деструктор)
}(деструктор)
string ::string (char*init str) {
Q
Q string
string == new
new (Q
(Q string,
string, init
init str);
str);
if
if (!Q
(!Q string)
string) cont
cont <<
<< «Жады
«Жады жетіспейді»;
жетіспейді»;
strieng:=streen (Q string);
}
string
string :::: ~
~ string
string (( );
);
{
cout
cout <<<< «Жол»
«Жол»
delete Q Q string;
string;
Q
Q string
string == (Char
(Char *)*) 0;
0;
cout << “Босатылды \n”; }
void
void main
main (( )) {{
string
string First («Алғ
First («Ал ғашашқ қыы жол»);
жол»); First
First -- конструкторды шақ
конструкторды ша қыру
ыру}}
{{
string second («Екінші жол»); Second - үшін конструктор шақыру }
Ұқсас жұмыстар
Пәндер
- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.
Ақпарат
Қосымша
Email: info@stud.kz