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


Slide 1

Орындаған: Нұржанова С. Н.

Тобы: ВТ-405

Тексерген: Жаксыгулова Д. Д.

Slide 2

Объектілі-бағытталған программалау негізі.

Кластар иерархиясы.

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

Конструкторлар мен деструкторлар.

Slide 3

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

Slide 4

ОБП -ды қолданудың негізгі үш ерекшелігі бар:

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

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

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

Slide 5

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

Slide 6

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

Тұқым қуалау қасиеті деп баба класынан ұрпақтарына мәліметтер мен әдістердің берілуін атайды.

Егер кластың атрибуттары бір баба кластан берілсе, онда жалғыздық (одиночный) тұқым қуалау деп атайды.

Полиморфизм

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

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

Slide 7

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

class obj_type

{ double data;

public:

void set_v(double ang) ;

public:

void set_v(double ang) ;

Slide 8

Конструкторлар класс айнымалыларын инициализациялауға және жадыдан орын бөлуге арналған айрықша функция болып табылады. Конструктор аты өзі тиісті класс атымен бірдей болады. Класс объектісін құру барысында қажетті конструктор автоматты түрде шақырылады. Егер класс сипатында конструктор сипатталмаған болса, онда компилятор стандартты класс құрады.

Деструктор - бұл да айрықша функция, жойылатын объект алып тұрған динамикалық жадыны босату қызметін атқарады. Деструктордың да аты класс атымен бірдей, тек алдында ~ (тильда) жазылады. Деструктор - класс объектісіне сілтейтін көрсеткіш арқылы анықталған delete операторы кездескенде шақырылады. Деструктордың конструктордан айырмашылығы ешқандай аргументтен тәуелді емес. Егер деструктор айқын түрде анықталмаса, компилятор класс үшін стандартты деструктор бөледі. Класс деструкторы мен конструкторы С++ тілінде динамикалық жадыны үлестіру және босату үшін сәйкесінше Nen, delete қолданылады.

# include

# include

class string

char * Q string;

int strieng;

public

string (char*) ; (конструктор)

~ string ( ) ; }(деструктор)

string ::string (char*init str) {

Q string = new (Q string, init str) ;

if (!Q string) cont << «Жады жетіспейді»;

strieng:=streen (Q string) ;

}

string :: ~ string ( ) ;

{

cout << «Жол»

delete Q string;

Q string = (Char *) 0;

cout << “Босатылды \n”; }

void main ( ) {

string First («Алғашқы жол») ; First - конструкторды шақыру}

{

string second («Екінші жол») ; Second - үшін конструктор шақыру }

Slide 9


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



Реферат Курстық жұмыс Диплом Материал Диссертация Практика Презентация Сабақ жоспары Мақал-мәтелдер 1‑10 бет 11‑20 бет 21‑30 бет 31‑60 бет 61+ бет Негізгі Бет саны Қосымша Іздеу Ештеңе табылмады :( Соңғы қаралған жұмыстар Қаралған жұмыстар табылмады Тапсырыс Антиплагиат Қаралған жұмыстар kz