Обьектілі бағдарланған программалаудың негізгі түсініктері мен іргелі сипаттамалары
Объектілі - бағдарлы программалау тілінде бағдардың жұмысы оқиғалар тізбегінен және түрлі объектілердің осы оқиғаларға жауабынан тұрады. Олардың визуальды түрлері - Vіsual Basіc тілі QBasіc программалау тілі негізінде, Delphі тілі объектілі Паскаль (Object Pascal) тілі негізінде Wіndows операциялық жүйесін басшылыққа алып құрылған. Объектілі – бағдарлы программалау пайда болғанға дейін, процедуралық программалармен жұмыс атқардық. Бұл программалау тілінің негізі - функциялар мен процедуралар, яғни әрекет арқылы программа жұмыс жасаса, тұтынушы өзінің алдына қойылған есепті шешу үшін, қандай функциялар мен әрекеттер керек екенін анықтап, оларды программаға қоса бастады. Объектілі - бағдарланған программалау тілінде негізгі бағытталған нүкте процедура, әрекет емес, ол - объект болды. Обьект – түрлі мәндердің қасиеттері мен әдістерінің жиынтығы. Қарапайым өмірде біз әртүрлі объектілермен қарым-қатынас жасаймыз (адамдар, заттармен, техникалық құрылғылармен) т.б. Тұтынушының компьютерлік программамен жұмыс жасауы - бұл да екі объектінің әрекеті, яғни адам мен программаның бір - бірімен нақты ақпарат алмасуы.
Обьектілі-бағдарланған программалау ортасындағы программалау екі үрдістің тығыз әрекеттестігіне негізделген: программаның құруын визуальды көрсету мен программа кодын жазу. Программа кодын жазу үшін код терезесі, ал программаны құру үшін обьектілі-бағдарланған программалау ортасының басқа терезелері қолданылады. Обьектілі-бағдарланған программалау күрделі программалық қамтамасыз етуді құру технологиясы ретінде анықталады, ол программаны обьектілер жиынтығы ретінде ұсынуға негізделген, олардың әрқайсысы анықталған типтің (класстың) экземпляры болып табылады, ал класстар мұрагерлік қасиетімен иерархия құрады.
Обьектілі-бағдарланған программалаудың негізгі түсініктері обьект, класс, оқиға, әдіс, қасиет, т.б. Қоршаған ортадағы шынайы обьектілердің үш негізгі сипаттамалары бар, олар: қасиеттер жиынтығы, қоршаған ортада немесе обьектінің ішінде осы қасиеттерді өзгертетін әртүрлі әдістер және оларға әсер ететін оқиғалар. Міне, осындай түрде программалау тілдерінде обьект ұғымы қалыптасқан, яғни қасиеттер жиынтығы, өңдеу әдістері және берілген обьект жауап беретін оқиғалар.
Обьектінің қасиеті – ол обьектінің сипаттамасы, оның параметрі. Олар объектінің түрлі мүмкіндіктерін сипаттап, ағымдық күйін анықтайды.
Өңдеу әдісі – обьекті немесе оның қасиетіне жасалатын әрекет.
Оқиға – программаның жұмыс істеуі барысында объект жағдайының белгілі бір әрекетке жауап ретінде өзгеруі.
Обьектілер бірдей құрылымды болуы мүмкін және бір-бірінен қасиеттерінің мәндерімен ерекшеленуі мүмкін. Мұндай жағдайларда программада обьектінің біртұтас құрылымына негізделген жаңа тип құрылады. Ол – класс деп аталады, яғни класс деп - құрамында өрістер, әдістер және қасиеттері бар ерекше құрылымды атайды, ал осы класстың құрылымы бар әрбір нақты обьект – класс үлгісі деп аталады. Delphi-дегі барлық обьектілер үшін базалық класс TObject болып саналады. Delphi-дегі барлық класстар осы класстың тікелей немесе жанама мұрагерлері болып табылады.
Обьектілі-бағдарланған программалау үш негізгі тұжырымдамаға негізделген:
инкапсуляция;
мұрагерлік;
полиморфизм.
Инкапсуляция – берілгендер мен оларды өңдейтін әдістерді класстың (обьекттің) ішінде біріктіруді береді. Бұл дегеніміз класстың ішінде өрістердің, қасиеттердің және әдістердің инкапсуляцияланатынын, яғни бірігіп, класстың ішіне орналасатынын білдіреді.
Мұрагерлік – бұл жаңа класстардың басқа класстардан туындау үрдісі. Туындаған жаңа класс өзінің ата-анасының барлық өрістерін, қасиеттерін, әдістерін мұраға алады және жаңартылып, толықтырылуы мүмкін. Кейіннен мұрагерленген өрістерді, қасиеттерді және әдістерді өзгертілмеген түрде қолдануға болады. Жай ғана мұрагерленудің ешқандай мәнісі болмайды, сондықтан жаңа классқа оның ерекшеліктері мен қызметін анықтайтын жаңа элементтер қосылады. Ұрпақ класста ата-анасының қандай да бір элементтерін жоюға болмайды, ал жаңа обьектіден келесі обьектіні туындатуға болады, нәтижесінде обьектілер ағашы (класстар иерархиясы деп те аталады) құрылады.
Полиморфизм – әртүрлі кластарға жататын әдістерге бір атауды қолдану мүмкіндігі, класстың барлық объектілеріне қолдануға болатын аты бірдей әрекетті анықтаудың мүмкіндігі, сонымен бірге әр объект осы әрекетті өзінше орындайды. ОБП - дың осы қасиеті арқылы кластың әр түрлі объектілеріне бір атаудағы әдісті қолданғанда, дәл аталмыш объектіге сәйкес әдістің орындалуын қамтиды.
Обьектілі-бағдарлы программалаудың іргелі сипаттамалары:
Кез келген зат немесе құбылыс обьект ретінде қарастырылуы мүмкін.
Обьект өзінің өрістерінде басқа обьектілерден тәуелсіз жеке ақпаратты сақтай алады. Өрістер ақпараттарына инкапсуляцияланған (ерекше әдіс) мүмкіндікті қолдану ұсынылады.
Обьектілерде интерфейс бойынша хабарламаларды өңдеудің ашық әдістері болуы мүмкін. Әдістерді шақыру хабарламаларының өздері басқа обьектілермен жіберіледі, бірақ обьектілер арасында жүйелі интерфейсті жүзеге асыру үшін кейбір әдістер жасырылуы мүмкін.
Бір обьект басқа обьектіден кейбір әрекеттердің орындалуын талап ететін, есептеулер обьектілер арасындағы қарым-қатынас жолымен жүзеге асырылады. Обьектілер хабарламаларды жіберу және алу арқылы қарым-қатынас жасайды. Хабарламалар – бұл әрекеттерді орындау барысында қажет болатын, аргументтердің жиынтығымен толықтырылған әрекеттерді орындауға сұраныс. Хабарламаларды алу обьектісі - өзінің ішкі әдістерімен хабарламаларды өңдейді.
Әрбір обьект, хабарламаларды өңдейтін, өзінің жадысы мен ішкі әдістерінде өрістер жиынтығының бірдей тізімдері түрінде берілген класс обьектілерінің жалпы қасиеттерін білдіретін класс өкілі болып табылады. Сондықтан бір класстың үлгілері болып табылатын обьектілер бірдей әрекеттерді орындауы мүмкін.
Класстар мұрагерлік иерархиясы деп аталатын жалпы түбірі бар біртұтас ағаш тәрізді құрылыммен ұйымдастырылған. Әдетте иерархия түбірі жоғарыға бағытталған. Көптік мұрагерленуде бұтақтар мұрагерлену торын құра отырып өсуі мүмкін. Белгілі бір класстың үлгілерімен байланысты жады мен мінездеме иерархиялық ағаштан төмен орналасқан кез келген классқа автоматты түрде қол жетімді болып табылады.
Полиморфизмнің арқасында бір обьектіні басқа обьектінің орнына қоюды орындау барысында, үйлесімді интерфейспен бірдей обьектілер бірдей хабарламалардың сұратуларын әр түрлі әдістермен орындауы мүмкін.
Композиция көптік мұрагерленуге жақсы балама болып табылады және программаның орындалу барысында агрегат обьектілерінің құрамын өзгертуге мүмкіндік береді.
Обьектілі-бағдарлы программаның құрылымы орындалу барысында өзінің бастапқы кодының құрылымымен жалпы ұқсастықтары аз болады. Себебі, бастапқы код компиляция кезеңінде жазылады. Оның коды класстардан тұрады. Орындалу кезеңінде программа құрылымы қарым-қатынас жасайтын обьектілер ішінен тез өзгереді. Осы екі құрылым тәуелсіз болады.
Достарыңызбен бөлісу: |