Объектіге бағытталған бағдарламалау негіздері
Автор: Mamix Dolger • Февраль 26, 2023 • Лекция • 12,114 Слов (49 Страниц) • 391 Просмотры
Модуль 1. Объектіге бағытталған бағдарламалау негіздері
- Класстар, объектілер және кластардың даналары
- Класс экземплярының конструкторы және деструкторы
- Класс объектінің өрісі
- Өрістер мен әдістерді қосу және жою
- Әдістер мен функциялар
- Даналарды көшіру және көшіру конструкторы
- Мұрагерлік. Базалық класс. Туынды класс.
- Көп тұқым қуалаушылық.
- Көп мұрагерлік
- Арнайы әдістер мен өрістер
- Оператордың шамадан тыс жүктелуі.
- Функциялар мен класстарды безендірушілер
- Класс даналары ретіндегі ерекшеліктер
- Итераторлар және генератор функциялары
ДӘРІС 1. КЛАССТАР, ОБЪЕКТІЛЕР ЖӘНЕ КЛАСТАРДЫҢ ДАНАЛАРЫ
1. Объектіге бағытталған программалау концепциялары
2. Мұрагерлік
3. Инкапсуляция
4. Полиморфизм
OOP пайда болуы 1960 жылдардан басталады. Дегенмен, іргелі қағидалардың түпкілікті қалыптасуы мен идеяның танымал болуы 80-ші жылдарға жатқызылуы керек. Алан Кей үлкен үлес қосты.
Python тілінде OOP негізгі рөл атқарады. Құрылымдық парадигма шеңберінде бағдарламалау кезінде де, сіз әлі де объектілер мен класстарды пайдаланасыз, тіпті олар тілге енгізілген болса да, оны өзіңіз жасамайсыз.
Атауға қарағанда, мұнда негізгі рөлді бүкіл бағдарламалау процесі басшылыққа алатын белгілі бір объектілер атқарады.
Егер біз шынайы әлемге өзіміз қарауға дағдыланған бұрыштан қарасақ, онда ол біз үшін белгілі бір қасиеттерге ие, бір-бірімен әрекеттесетін және нәтижесінде өзгеретін объектілердің жиынтығы ретінде пайда болады. Адам көзіне таныс дүниенің бұл суреті бағдарламалауға көшті.
Ол компьютердің деректерді қалай сақтайтыны мен өңдейтіні туралы абстракцияның жоғары деңгейін талап етті, ол бағдарламашылардан «виртуалды әлемдерді» құрастыра алуды, тапсырмаларды өзара бөлуді талап етті. Дегенмен, бұл үлкен бағдарламаларды оңай және өнімді әзірлеуге мүмкіндік берді.
Бағдарламашылар тобы ойын әзірлеп жатыр делік. Ойын бағдарламасын сандық таңбалардан және көптеген элементтерді қамтитын олардың ортасынан тұратын жүйе ретінде көрсетуге болады. Әрбір жауынгер, қару, ағаш, үй - бұл оның қасиеттері мен әрекеттері «оралған», оның көмегімен ол өзінің қасиеттерін және басқа объектілердің қасиеттерін өзгерте алатын цифрлық нысан.
Әрбір бағдарламашы өзінің объектілер тобын жасай алады. Әзірлеушілерге объектілердің бір-бірімен қалай әрекеттесетіні туралы, яғни олардың интерфейстері туралы ғана келісу жеткілікті. Петя Васяның шөпті жеу нәтижесінде сиырдың өсуін қалай түсінетінін білудің қажеті жоқ. Ол үшін көгалдандырушы ретінде сиыр шөпке тиген кезде көгалда шөп аз болуы керек екенін білу жеткілікті.
Құрылымдық стильде жазылған бағдарлама мен объектілі-бағытталған программа арасындағы негізгі айырмашылықты төмендегідей қорытындылауға болады. Бірінші жағдайда мақсатқа жету үшін әрекеттердің ретін түсінетін логика бірінші орынға шығады. Екіншіден, бағдарламаны өзара әрекеттесетін объектілер жүйесі ретінде көрсету маңыздырақ.
1. Объектіге бағытталған программалау концепциялары
OOP-та қолданылатын негізгі ұғымдар: класс, объект, мұрагерлік, инкапсуляция және полиморфизм. Python тілінде класс деректер түріне баламалы.
Класс немесе тип дегеніміз не? Шынайы әлеммен салыстырып көрейік. Егер біз нақты кестені алсақ, онда ол объект, бірақ класс емес. Бірақ кестелердің жалпы идеясы, олардың мақсаты - класс. Ол барлық нақты кесте нысандарына ие, олар қандай болса да. Кестелер класы әлемдегі барлық кестелердің жалпы сипаттамасын береді, оларды жалпылайды.
Бұл Python-дағы бүтін сандармен бірдей. int типі бүтін сандар класы болып табылады. 5, 100134, -10 және т.б сандар осы класстың нақты объектілері болып табылады.
Python бағдарламалау тілінде объектілерді даналар деп те атайды. Бұл ондағы барлық класстардың өздері типтік класстың объектілері болып табылатындығына байланысты. Барлық модульдер модуль класының объектілері сияқты.Сондықтан шатастырмау үшін қарапайым класстардан жасалған объектілерді даналар деп атайды. Бұл курста біз мұндай объектілерді жиі объектілер деп атаймыз, өйткені бұл терминология әмбебап және басқа тілдерде қолданылады.
...