ОБЪЕКТІЛІ-БАҒЫТТАЛҒАН ПРОГРАММАЛАУ (ОБП)




Презентация қосу
Орындаған: Нұржанова С.Н.
Тобы: ВТ-405
Тексерген: Жаксыгулова Д.Д.
Объектілі-бағытталған программалау негізі.
Кластар иерархиясы.
Объект қасиеттері: инкапсуляция, тұқым
қуалау, полиформизм.
Конструкторлар мен деструкторлар.
• ОБП элементтері 70-ші жылдарда
Симула тілінде модельдеуде
қолданылды. Қазірде кең құлаш
жайған программалау
технологиясына айналып отыр. ОБП
негізгі мақсаты – программа құруда
деңгейін көтеру. С++ тіліндегіі ОБП
негізін қалаушы – Бьярне
Страуструп, 80-жылдары Bell Labs
компаниясында өңдеген.
ОБП -ды қолданудың негізгі үш ерекшелігі
бар:

1. Программа коды
ықшамдалады және
құрылымы жақсарады.

3. Тиімді құрылған класты
2. Программаға программалық
кітапханалық файлдар сақтап, оны
бағыттарды қосу және алып тастау
қажетінше қолдану мүмкіндігі бар.
жеңіл орындалады (программаны
ОБП-да объектілердің байланысы
модернизациялау жеңіл, яғни онда
мен өзара әрекеттестігінің
бар кластың ұрпақ класын құру
схемасын сипаттау арқылы есеп пен
арқылы жүзеге асырылады).
оның шешімі қарастырылады.
• С++-тегі класс структураның кеңейтілген түрі және
объект құруға арналған. С++-тегі класс шаблон
секілді, оның негізінде объектілер құрылады. Кез-
келген кластың бірнеше ішкі кластары болуы
мүмкін. Кластар иерархиясы құрылады, баба класы
жалпы сипаттаға әдістерден тұрады. Кластың
құрамын арнайы кілттік сөздердің көмегімен
реттеуге болады. Олар: public - «ашық», «көрінетін»
бөлігі private - «тасаланған» бөлігі («жабық»)
protected - «қорғалған» бөлігі. «Көрінетін»
бөлігіндегі сипатталған әдістер класты қолданатын
кез-келген программадан шақырылады, яғни
кластың интерфейсін құрайды. «Тасаланған»
бөлігіндегі элементтер тек өзінің әдістерінде
қолданылады, ал«қорғалған» бөлігіндегі
элементтер өз әдістері мен ұрпақ кластарда
қолданылады
Объект қасиеттері: инкапсуляция, тұқым
қуалау, полиформизм.
Тұқым қуалау қасиеті деп баба
класынан ұрпақтарына
мәліметтер мен әдістердің
берілуін атайды.
Егер кластың атрибуттары бір
баба кластан берілсе, онда
Инкапсуляция дегеніміз – бір жалғыздық (одиночный) тұқым
қуалау деп атайды.
структурада мәліметтермен
қатар оларды өңдеуге
арналған функциялардың
Полиморфизм
берілуі (әдістердің). Полиморфизм класс иерархиясымен
байланысты, иерархиядағы бірнеше
класқа бірдей хабарлама беру
мүмкіндігінің болуы, яғни қандай
кластың қайсысы келген хабарды
өңдеу құқығын алатынын анықтау –
полиморфизм деп аталады. Бір
иерархиядағы әртүрлі класта болатын
және бір атпен аталған және virtual
қызметші сөзімен сипатталған әдіс
виртуальді әдіс деп табылады.
# include < class obj_type public: public:
# include { double data; void
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
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 - үшін конструктор шақыру }

Ұқсас жұмыстар
Си тілінде деректерді ұйымдастыру
Объектілі-бағытталған программалау. Класстар және әдістер
Объектілі программалау туралы түсініктер
ДЕЛФИ БАҒДАРЛАМАСЫ
Объектілі бағытталған программалаудың негізгі артықшылығы модульдік программалаумен салыстырғанда модульдер арасында жіберілген ақпарат көлемінің азаюы және модуларалық байланыстар санының қысқаруы
JAVA ТІЛІНДЕГІ ОБЪЕКТІЛІ – БАҒЫТТАЛҒАНПРОГРАММАЛАУ
Borland Delphi бағдарламалау ортасы. Delphi бағдарламасын іске қосу. Delphi бағдарламалау ортасының терезесі
Объектілердің инспекторы терезесі
Объекттер полиморфизмі
Тілдер теориясы
Пәндер