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



Кіріспе
Негізгі бөлім
1. Абстрактілі берілгендер типі TIME . ді клас түрінде реализациалау
2. Кластың әрекеттер облысы және клас элементтеріне қол жеткзу
3. Интерфейстің реализациядан бөлінуі
4. Клас элементтеріне қол жеткізушілікті басқару
5. Қол жеткізушілік функциялары және сервистік функциялар
6. Клас объектілерінің инициализациясы: конструкторлар
7. Конструкторлар үнсіз келісім аргументтерімен
8. Деструкторлар
9. Конструкторлар мен деструкторлар қашан шақыралады?
10. Берілгендер элементі мен функция элементтерін және қолдану
11. Шағын қауіп: сілтемені берілгендердің жабық элементіне қайтару
12. Үнсіз келісім бойынша элементтік көшіруді қосып алу
13. Программалық қамсыздандырудың утилизациясы
Қорытынды
Ең алдымен объектіге бағытталған С тілінінің кейбір кілттік түсініктері мен терминдеріне тоқталып өтейік. Объектіге бағытталған программалау тілі пакеттегі берілгендер мен функцияларды қарастырады, олар берілгендер мен функциялардың кластары деп аталады және олар бір – бірімен тығыз байланысты.
Клас бір қарағанда сызбаға ұқсайды. Мысалы сызбаға қарап құрылысшы үй тұрғызатын болса, ал клас арқылы программалаушы объект құра алады. Бір сызбаны бірнеше рет қолдана отырып бірнеше үй тұрғызуға болатынындай, бір класпен бірнеше объект жасауға болады. Кластың мәліметтерді жасыру мүмкіндігі бар. Яғни олар бір – бірімен жақсы анықталған интерфейс арқылы өзара мәлімет алмасуды тек өздері ғана біледі, ал кластарға ереже бойынша өзара қалай байланысқанын білуге болмайды, алмасу бөліктері кластың өздерінің ішінде жасырылған. Мысалы жүргізуші машинаны оның ішкі детальдарының қалай жұмыс жасап жатқанын білмей – ақ өте жақсы жүргізе алады. Міне осыдан біз жасырын мәліметтердің жақсы программалық қамсыздандыруда қаншалықты үлкен рол айнайтынын көруімізге болады.
С тілінде және басқа да программалау тілдерінде әрекеттердің орындалуында өзіндік бірліктері болады. С программалау тілінің бірлігі функция болып табылады. Ал С++ тілінің бірлігі нәтижесінде класстың өкілдері пайда болатын объектінің даналары, яғни класс болып табылады. С тілінде программалаушылар функцияның жазылуына көп көңіл бөледі. Жалпы бір есептерді орындайтын бірнеше әрекеттер жиыны функцияларға бекітіледі, ал функциялар жиыны программаны құрайды. Берілгендер С тілінде сөзсіз маңызды орын алады, бірақ берілгендер тек әрекеттер функциясының орындалуына қолдау көрсетеді.
С++ тілінде программалаушылар өздерінің жасағанклас деп аталатын қолданушы типтерінің анықтамаларына сүйенеді. Әрбір клас берілгендер секілді осы берілгендерді өздері басқаратын функциялар жиынынан тұрады. Клас құрамына кіретін берілгендер кластың берілгендер элементі деп аталады. Кластың функциональді компоненттері оның элементті – функциялары немесе кейбір программалау тілдерінде әдістері деп аталады. Егер құрылған типтің мысалы int типінің өкілі айнымалы деп аталса, қолданушы типінің (кластың) өкілі объект деп аталады. С++ тілінде барлық назар функцияларға емес кластарға аударылады. С++ тілінің кластары С тілінің struct түсінігінің дамуы болып табылады. Struct айнымалылардың өзара қарым – қатынасының жиынтығын білдіреді, ал клас ортасында йнымалылар функциялардағы секілді басқарылады. Енді біз «Абстрактілі берілгендер типі TIME – ді клас түрінде реализациалау» бөлімін қарастырамыз. Ол бізге берілгендердің жаңа абстрактілі типінің саналы түрде сипатталуын көрсетеді.

Жоспар

Кіріспе

Негізгі бөлім

1. Абстрактілі берілгендер типі TIME – ді клас түрінде реализациалау
2. Кластың әрекеттер облысы және клас элементтеріне қол жеткзу
3. Интерфейстің реализациядан бөлінуі
4. Клас элементтеріне қол жеткізушілікті басқару
5. Қол жеткізушілік функциялары және сервистік функциялар
6. Клас объектілерінің инициализациясы: конструкторлар
7. Конструкторлар үнсіз келісім аргументтерімен
8. Деструкторлар
9. Конструкторлар мен деструкторлар қашан шақыралады?
10. Берілгендер элементі мен функция элементтерін және қолдану
11. Шағын қауіп: сілтемені берілгендердің жабық элементіне қайтару
12. Үнсіз келісім бойынша элементтік көшіруді қосып алу
13. Программалық қамсыздандырудың утилизациясы

Қорытынды

Пайдалынған әдебиеттер

Кіріспе

Ең алдымен объектіге бағытталған С тілінінің кейбір кілттік түсініктері
мен терминдеріне тоқталып өтейік. Объектіге бағытталған программалау тілі
пакеттегі берілгендер мен функцияларды қарастырады, олар берілгендер мен
функциялардың кластары деп аталады және олар бір – бірімен тығыз
байланысты.
Клас бір қарағанда сызбаға ұқсайды. Мысалы сызбаға қарап құрылысшы үй
тұрғызатын болса, ал клас арқылы программалаушы объект құра алады. Бір
сызбаны бірнеше рет қолдана отырып бірнеше үй тұрғызуға болатынындай, бір
класпен бірнеше объект жасауға болады. Кластың мәліметтерді жасыру
мүмкіндігі бар. Яғни олар бір – бірімен жақсы анықталған интерфейс арқылы
өзара мәлімет алмасуды тек өздері ғана біледі, ал кластарға ереже бойынша
өзара қалай байланысқанын білуге болмайды, алмасу бөліктері кластың
өздерінің ішінде жасырылған. Мысалы жүргізуші машинаны оның ішкі
детальдарының қалай жұмыс жасап жатқанын білмей – ақ өте жақсы жүргізе
алады. Міне осыдан біз жасырын мәліметтердің жақсы программалық
қамсыздандыруда қаншалықты үлкен рол айнайтынын көруімізге болады.
С тілінде және басқа да программалау тілдерінде әрекеттердің
орындалуында өзіндік бірліктері болады. С программалау тілінің бірлігі
функция болып табылады. Ал С++ тілінің бірлігі нәтижесінде класстың
өкілдері пайда болатын объектінің даналары, яғни класс болып табылады. С
тілінде программалаушылар функцияның жазылуына көп көңіл бөледі. Жалпы бір
есептерді орындайтын бірнеше әрекеттер жиыны функцияларға бекітіледі, ал
функциялар жиыны программаны құрайды. Берілгендер С тілінде сөзсіз маңызды
орын алады, бірақ берілгендер тек әрекеттер функциясының орындалуына қолдау
көрсетеді.
С++ тілінде программалаушылар өздерінің жасағанклас деп аталатын қолданушы
типтерінің анықтамаларына сүйенеді. Әрбір клас берілгендер секілді осы
берілгендерді өздері басқаратын функциялар жиынынан тұрады. Клас құрамына
кіретін берілгендер кластың берілгендер элементі деп аталады. Кластың
функциональді компоненттері оның элементті – функциялары немесе кейбір
программалау тілдерінде әдістері деп аталады. Егер құрылған типтің мысалы
int типінің өкілі айнымалы деп аталса, қолданушы типінің (кластың) өкілі
объект деп аталады. С++ тілінде барлық назар функцияларға емес кластарға
аударылады. С++ тілінің кластары С тілінің struct түсінігінің дамуы болып
табылады. Struct айнымалылардың өзара қарым – қатынасының жиынтығын
білдіреді, ал клас ортасында йнымалылар функциялардағы секілді басқарылады.
Енді біз Абстрактілі берілгендер типі TIME – ді клас түрінде
реализациалау бөлімін қарастырамыз. Ол бізге берілгендердің жаңа
абстрактілі типінің саналы түрде сипатталуын көрсетеді.

Абстрактілі берілгендер типі TIME – ді клас түрінде реализациалау

Кластар программалаушыға өзіндік атрибуттары және атқаратын іс -
әрекеттері бар объектілерді моделдеуге мүмкіндік береді. Берілгендер
элементі мен элемент – функцияларды құрайтын типтер С++ тілінде class
кілттік сөзімен анықталады.
Басқа да объектіге бағытталған программалау тілдерінде функция –
элементтерін әдістер деп атайды және олар жіберілген объектіге хабарлама
ретінде жауап беру кезінде белсенді әрекет етеді. Хабарламалар функция –
элементтерінің, яғни бір объектіден келесі объектіге жіберілген кездегі
шақыруға немесе функциядан объектіге жіберілетін шақырылуға сәйкес беріліп
отырады
Клас анықталып болғаннан кейін оның атауын осы кластың объектілерін
хабарлауға қолдануға болады. 1 – суретте TIME класының қарапайым анықталуы
көрсетілген.
Біздің класымыздың анықталуы class кілттік сөзімен басталған. Кластың
анықталу денесі фигуралық жақшалармен({}) қоршалған. Анықтау нүктелі
үтірмен (;) аяқталған. TIME класының қарапайым анықталуы үш бүтін
элементтен тұрады: hour, minute, second.

class Time {
public:
Time();
void setTime(int,int,int);
void printMilitary();
void printStandard();
private:
int hour; 0-23
int minute; 0-59
int second; 0-59
}; TIME класының cоңы

1 – сурет. TIME класының қарапайым анықталуы

public: және private: белгілері элементке қол жеткізуші спецификаторлар
деп аталады. public: спецификаторынан кейінгі жарияланған берілгендер мен
функциялардың барлық элементтері программаның TIME класының қандай да бір
объектісіне барлық жерде ашық болып саналады. private:спецификаторынан
кейінгі жарияланған берілгендер мен функциялардың барлық элементтері
кластың элемент функцияларына ғана ашық болып саналады. Клас элементтеріне
қол жеткізуші спецификаторлар әрқашан қос нүктемен (:) аяқталады және кез
келген тәртіппен класты анықтау кезінде көптеп кездесіп отырды.
public: спецификаторынан кейінгі клас анықтаушылары мына 4 элемент-
функциядан тұрады: Time, setTime, printStandard, printMilitary. Бұл
функцияларды ашық элемент-функциялар деп атайды, сонымен қатар клас
интерфейсі деп те атайды. Олар берілгендерді басқаратын клас клиенттері
(яғни, қолданушы болып табылатын программаның бөліктері) деп аталады.
Өзінің элемент-функцияларының ортасында өз клас клиенттеріне ұсынатын
тасымалдау қызметін берілгендер класының элементі қолдап отырады. Бұл
қызметтер клиенттерге клас объектілерімен қатынасуға мүмкіндік береді.
Элемент-функция дегеніміз сол кластың өзі болып табылады, оны басқаша
осы кластың конструкторы деп атауға болады. Конструктор – клас
объектілерінң берілгендер элементтерін инициалдайтын арнайы клас функциясы
болып ... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Java программалау тілі
Полиморфизм - бір иерархиядағы объектілер үшін бір атаумен берілген әдістерді қолдану мүмкіндігі
Объектіге бағытталған программалаудың принциптері
Адамзат дамуының жаңа кезеңі
Мамандардың мәліметті өңдеудің машиналық құралдарына максималды жақындығы
Delphi бағдарламасын қолданып мәтіндік редакторын құру және онымен жұмыс істеу мүмкіндіктерін көрсететін бағдарлама құру
Java кең таралған программалау тілі
Delphi объектілі бағдарлы бағдарламалау тілінің мүмкіндіктері
Информатиканы тереңдетіп оқытатын сыныптарда информатика сабағын өткізу әдістемесі
Программалау тілдерімен танысу
Пәндер