Нысанды-бағдарланған программалаудың негізгі принциптері: инкапсуляция, мұрагерлеу, полиморфизм


Қазақстан Республикасы Білім және Ғылым министрлігінің Семей қаласындағы Шәкәрім атындағы университеті Информатика кафедрасы

СӨЖ №1

Тақырыбы: 1. Нысанды-бағдарланған программалаудың негізгі принциптері:Инкапсуляция, мұрагерлеу, полиморфизм.

Орындаған: Қосымғалина А.

Тексерген: Каженова Ж. С.

2015 ж

ОБЪЕКТІЛІ БАҒДАРЛЫ ПРОГРАММАЛАУ

  1. Объект ұғымы

Объектілі бағдарлы программалаудың ең үздік технологиясы және модификациясы жеңіл программа жасауға мүмкіндік береді. Оның мүмкіндіктерін ОБП тілінде қолдануға болады. Ондай тілдердің бірі Simula 67, ол 60 - шы жылдардың екінші жартысында пайда болды. Қазіргі программалау тілдері ОБП-ны қолдайды. Оларға С++, Java, Delphi т. б жатады. Бұл методология Turbo Pascal- дың 5. 5 версиясынан бастап пайда болды. Мынаны айта кету керек, тек қана ОБП тілдерінде емес басқа тілдерде де, мысалы, С және Фортран тілдерінде ОБП- ны қолданады. Бірақ оның жұмысын іске асыру өте қиынға түседі. Кейбір тапсырмалар класы дәстүрлі жолмен оңай шешіледі.

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

Объектілерді класқа біріктірудің белгілері болып тек қана атрибуттар ғана емес, сондай-ақ тапсырмалардың контекстісі де есептеледі, мысалы, тікбұрыштар және тікбұрышты үшбұрыштар бірдей атрибуттардың жиынтығымен сипаттала алады- іргелес екі қабырғалардың ұзындықтары. Солай бола тұра олар әртүрлі геометриялық қасиеттермен бірге әртүрлі математикалық объектілер бола алады.

Объектілерді класқа біріктіру тапсырмаларды жалпы қойылым ретінде көрсетуге мүмкіндік береді. Осы кластың барлық объектілеріне қатысты өзіне тән аты болады. Сонымен қатар кластағы атрибуттардың аттары кейбір объектілерге байланысты қойылады. Класты сипаттау ‘’ жазу ‘’ түрін сипаттауды еске түсіреді, әр объект тұрақты немесе тұрақсыз типтің мағынасындай мағыны береді.

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

Объект берiлгендердiң сипатталынуы мен оларды өңдейтiн программаларды бiрiктiредi. Объектiге енетiн программалар :

Процедуралар;

Функциялар;

Конструкторлар;

Деструкторлар түрiнде iске асады.

ОБП әдiстемесi берiлгендермен тура байланысуға кеңес бермейдi. Объект берiлгендерiн сол объектiнiң әдiсi арқылы өңдеген жөн.

ОБП- ны қолданып жазылған программа бір-бірімен қарым - қатынаста болатын объектіден тұрады. Объектіні программалық жүзеге асыру- олардың өңдеу процедуралары мен берілгендерін біріктіру деген сөз. Турбо Паскальда Object типі бар, оны record құрылымды типінің жалпыламасы деп есептеуге болады. Тұрақсыз объек типін объект экземпляры деп атайды.

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

Type

Location=obgect

x, y:integer;

Procedure init( initX, InitY: integer) ;

Function getX: integer;

Function getY: integer;

End;

Обьект резервтегі object_end сөздерінің көмегімен сипатталады. Олардың арасында әдістер мен бөлімдердің сипаттамасы бар. Келтірілген мысалда объект графикалық координаталардың белгілерін сақтау үшін екі бөлімнен, берілген объектілердің әдістері сипатталған процедура мен екі функциялардан құралған. Объекті типтердің сипатталауының басқа сипатталудан айырмашылығы - ол программалық бірліктің (программа, модуль) ең жоғарғы сатысында тұрады. Әдістер мен функциялар, процедуралардың сипатталу бөлімінде мұндай сипаттау болмайды. Резевтегі private сөзі объект бөлімдеріне кіре алмайды. Келесі мысалда X, Y айнымалысына location объектілі типінің getX, getY әдістері арқылы ғана кіреді. Мысалы:

Type

Location= object

Procedure init(initX, initY : integer) ;

Function getX: integer;

Function getY : integer;

Private X, Y : integer;

End;

ОБП инкапсуляция, мұра, полиморфизм деген қасиеттерден тұрады.

Инкапсуляция - дегеніміз ол объектінің өзіне қолданылатын қажетті детальді жасыру. инкапсуляция тек өзіне тән әдістері арқылы ғана берілгендерге кіруді ұйымдастыратын бірден бір тәсіл. Инкасуляция- жаңа объект түрiн өңдеудегi берiлгендердiң процедура және функциялармен бiрiгуi болып табылады. " Инкапсуляция" терминi- бұл жалпы бiр "қабыққа" (Object . . . End) берiлгендер мен әдiстердi бiрiктiру мағанасын бередi.

Жоғарыда айтылғандай, ОБП әдiстемесiмен келiсе отырып, берiлгендердiң мәндерiн өзгерту мақсатында, берiлгендермен тура байланысуға болмайды. Объект берiлгендерi әдiстер арқылы өңделуi тиiст. Бұл инкапсуляция болып табылады. Private cипаттауы арқылы берiлгендер мен әдiстердiң бiр бөлiгiн объектен тыс пайдалануға мүмкiншiлiк туғызбауға болады.

Type

NewObject=object

Public

Берiлгендердi сипаттау{ашық бөлiгi}

Әдiстердi сипаттау {ашық бөлiгi}

Private

Берiлгендердi сипаттау{жабық бөлiгi}

Әдiстердi сипаттау {жабық бөлiгi}

End;

Жабық берiлгендердi тек қана осы объектiнiң әдiстерi ғана өңдей алады алады.

Инкапсуляция принципі бойынша объект және оған орындалатын іс-әрекеттер біріктіріліп объектінің ерекше бір түрінде қарастырылады. Яғни, әрбір объект және оған орындалатын іс-әрекеттер жеке класс ретінде ұйымдастырылады.

Біздің мысалда объектіні сипаттау init-инициялизациясының процедурасы және getX, getY функциялары бөлек өзінше объект бола алмайды. Ол - location объекті типінің бөлінбейтін бөлігі. Егер программада берілген типтердің бірнеше айнымалыларының сипаттамасы келтірілген болса, онда әр айнымалы берілгендерді сақтау үшін өзінің есте сақтау облысы болады, ал функциялар мен процедураларға кіретін нүктелердің нұсқаулары үшін жалпы есте сақтау облысы болады. Әр әдісті шақыру мүмкіндігі тек қана өзінің құрама атының көмегімен ғана орындалады.

Өзінің бұрынғы қасиеттерін пайдаланып, дамыта және өзгерте отырып, мұрагерлік жаңа объектілерді анықтауға мүмкіндік береді.

Мұрагерлік

Кез-келген класс басқа кластан туындайды. Ол үшін оны хабарлағанда ата -ана кластың аты көрсетіледі:

TchildClass=class(TParentClass)

Туындаған класстар автоматты түрде өзінің ата - анасының өрісі, әдісі және қасиеті шығады және олардың жаңамен толықтырылуы мүмкін. Сөйтіп, мұрагерлік принципі күрделі кластарды кезеңмен құруды және өзінің жеке кластар кітапханасын жасауға мүмкіндік береді.

Object Pascal -дың барлық кластары жалғыз ата-ана TObject класынан туындаған. Бұл кластың өрісі және қасиеттері жоқ, бірақ өзіне кез-келген объектілердің барлық өмірлік қасиеттерін қамтитын жалпы тағайындалудың әдістерін қамтиды. Программист TОbject класы ата - ана болмайтын класс құра алмайды. Оған төмендегідей бейнелеулер тән:

TaClass=Class(TObject)

TaClass=Class

Мұрагерлік принципі TObject класынан оның ұрпақтарына қарай дами отырып, біртіндеп кеңейетін тармақталған кластар құруға әкеледі. Әрбір ұрпақ өзінің ата-анасының мүмкіндіктерін толықтырып (жаңартып), оның өзінің ұрпақтарына беріп отырады.

... жалғасы

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



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