Сайтқа презентация қосу

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

Орындаған: Нұржанова С.Н. Тобы: ВТ-405 Тексерген: Жаксыгулова Д.Д.

Объектілі-бағытталған программалау негізі. Кластар иерархиясы. Объект қасиеттері: инкапсуляция, тұқым қуалау, полиформизм. Конструкторлар мен деструкторлар.

ОБП элементтері 70-ші жылдарда Симула тілінде модельдеуде қолданылды. Қазірде кең құлаш жайған программалау технологиясына айналып отыр. ОБП негізгі мақсаты – программа құруда деңгейін көтеру. С++ тіліндегіі ОБП негізін қалаушы – Бьярне Страуструп, 80-жылдары Bell Labs компаниясында өңдеген.

ОБП -ды қолданудың негізгі үш ерекшелігі бар:
1. Программа коды ықшамдалады және құрылымы жақсарады.

2. Программаға программалық бағыттарды қосу және алып тастау жеңіл орындалады (программаны модернизациялау жеңіл, яғни онда бар кластың ұрпақ класын құру арқылы жүзеге асырылады).

3. Тиімді құрылған класты кітапханалық файлдар сақтап, оны қажетінше қолдану мүмкіндігі бар. ОБП-да объектілердің байланысы мен өзара әрекеттестігінің схемасын сипаттау арқылы есеп пен оның шешімі қарастырылады.

С++-тегі класс структураның кеңейтілген түрі және объект құруға арналған. С++-тегі класс шаблон секілді, оның негізінде объектілер құрылады. Кезкелген кластың бірнеше ішкі кластары болуы мүмкін. Кластар иерархиясы құрылады, баба класы жалпы сипаттаға әдістерден тұрады. Кластың құрамын арнайы кілттік сөздердің көмегімен реттеуге болады. Олар: public - «ашық», «көрінетін» бөлігі private - «тасаланған» бөлігі («жабық») protected - «қорғалған» бөлігі. «Көрінетін» бөлігіндегі сипатталған әдістер класты қолданатын кез-келген программадан шақырылады, яғни кластың интерфейсін құрайды. «Тасаланған» бөлігіндегі элементтер тек өзінің әдістерінде қолданылады, ал«қорғалған» бөлігіндегі элементтер өз әдістері мен ұрпақ кластарда қолданылады

Объект қасиеттері: инкапсуляция, тұқым қуалау, полиформизм.
Тұқым қуалау қасиеті деп баба класынан ұрпақтарына мәліметтер мен әдістердің берілуін атайды. Егер кластың атрибуттары бір баба кластан берілсе, онда жалғыздық (одиночный) тұқым қуалау деп атайды.

Инкапсуляция бір өңдеуге функциялардың (әдістердің).

дегеніміз – структурада арналған берілуі

мәліметтермен қатар оларды Полиморфизм Полиморфизм класс иерархиясымен байланысты, иерархиядағы бірнеше класқа бірдей хабарлама беру мүмкіндігінің болуы, яғни қандай кластың қайсысы келген хабарды өңдеу құқығын алатынын анықтау – полиморфизм деп аталады. Бір иерархиядағы әртүрлі класта болатын және бір атпен аталған және virtual қызметші сөзімен сипатталған әдіс виртуальді әдіс деп табылады.

# include < # include

class obj_type { double data;

 public:  void set_v(double ang);

public: void set_v(double ang);

double get_sin(void); } obj;

void obj_type :: set_v(double ang) {

data = ang; } double obj_type :: get_sin(vold) { return (sin(0.01*data);

Конструкторлар класс айнымалыларын инициализациялауға және жадыдан орын бөлуге арналған айрықша функция болып табылады. Конструктор аты өзі тиісті класс атымен бірдей болады. Класс объектісін құру барысында қажетті конструктор автоматты түрде шақырылады. Егер класс сипатында конструктор сипатталмаған болса, онда компилятор стандартты класс құрады.
# include # include # include # include class string char * Q string; char * Q string; int strieng; int strieng; public string (char*);(конструктор) ~ string ( ); }(деструктор) ~ string ( ); }(деструктор) string ::string (char*init str) { Q string = new (Q string, init str); Q string = new (Q string, init str); if (!Q string) cont << «Жады жетіспейді»; if (!Q string) cont << «Жады жетіспейді»; strieng:=streen (Q string); } string :: ~ string ( ); string :: ~ string ( ); { cout << «Жол»
Деструктор – бұл да айрықша функция, жойылатын объект алып тұрған динамикалық жадыны босату қызметін атқарады. Деструктордың да аты класс атымен бірдей, тек алдында ~ (тильда) жазылады. Деструктор – класс объектісіне сілтейтін көрсеткіш арқылы анықталған delete операторы кездескенде шақырылады. Деструктордың конструктордан айырмашылығы ешқандай аргументтен тәуелді емес. Егер деструктор айқын түрде анықталмаса, компилятор класс үшін стандартты деструктор бөледі. Класс деструкторы мен конструкторы С++ тілінде динамикалық жадыны үлестіру және босату үшін сәйкесінше Nen, delete қолданылады.


Пән: Информатика


Пәндер
Көмек / Помощь
Арайлым
Біз міндетті түрде жауап береміз!
Мы обязательно ответим!
Жіберу / Отправить


Зарабатывайте вместе с нами

Рахмет!
Хабарлама жіберілді. / Сообщение отправлено.

Сіз үшін аптасына 5 күн жұмыс істейміз.
Жұмыс уақыты 09:00 - 18:00

Мы работаем для Вас 5 дней в неделю.
Время работы 09:00 - 18:00

Email: info@stud.kz

Phone: 777 614 50 20
Жабу / Закрыть

Көмек / Помощь