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

1. Объект ұғымы
Инкапсуляция
Мұрагерлік
Полиморфизм
Объектілі бағдарлы программалаудың ең үздік технологиясы және модификациясы жеңіл программа жасауға мүмкіндік береді. Оның мүмкіндіктерін ОБП тілінде қолдануға болады. Ондай тілдердің бірі Simula 67 , ол 60 – шы жылдардың екінші жартысында пайда болды. Қазіргі программалау тілдері ОБП-ны қолдайды. Оларға С++ , Java, Delphi т.б жатады. Бұл методология Turbo Pascal- дың 5.5 версиясынан бастап пайда болды. Мынаны айта кету керек, тек қана ОБП тілдерінде емес басқа тілдерде де, мысалы, С және Фортран тілдерінде ОБП- ны қолданады. Бірақ оның жұмысын іске асыру өте қиынға түседі. Кейбір тапсырмалар класы дәстүрлі жолмен оңай шешіледі.
ОбП- ны пайдаланып, программаны өңдеу проектілі жүйенің объектілі моделін өңдеуден басталады. Ол үшін проблемаларды объектілерге бөліп, олардың арасындағы бір- біріне тәуелділігін ашады. Бұл шығармашылық процесс болашақ жүйені қарастырушы программалаушының біліктілігіне сүйенеді. Егер, мысалы, беттің кескіні туралы сөз етсек, онда бастапқы беттің жылтыры тегіс фрагменттердің жиынтығымен, үшбұрыштармен нақты көрінеді. Бұндай бөлінуді триангуляция деп атайды. Бұл жағдайда үшбұрыштар объект болып есептелінеді. Үшбұрыштар қабырғаларымен,бұрыштың өлшемдерімен анықталады. Бірақ олардың ұқсастықтары бар болғанымен үшбұрыштарды жалпы бір класқа біріктіруге мүмкіндік береді. Объектінің сипаттамасы оның атрибуттарының жиынтығы болып табылады. Оларды тұрақты және тұрақсыз атрибуттар деп екіге бөледі. Тұрақты атрибуттар оның класындағы объектілерді сипаттайды. Мысалы, көпбұрыштың төбелерінің санын айтуға болады. Ал, тұрақсыз атрибуттар объектінің жағдайын сипаттайды – осы атрибуттың мағынасын өзгерту арқылы, біз объектінің жағдайын өзгерте аламыз. Мысалы, көпбұрыштың төбелеріндегі бұрыштардың өзгеруін айтуға болады. Кейде атрибуттардың типтері көрсетіледі, себебі, әрқайсысы әртүрлі мағына береді және тұрақсыз атрибуттың бастапқы мағынасын көрсетеді. Осы атрибуттың бастапқы мағыналары объектінің бастапқы жағдайын көрсетеді. Мысалы, үшбұрышты алатын болсақ, оның атрибуттары болып қабырғалары болып есептеледі.
Объектілерді класқа біріктірудің белгілері болып тек қана атрибуттар ғана емес, сондай-ақ тапсырмалардың контекстісі де есептеледі, мысалы, тікбұрыштар және тікбұрышты үшбұрыштар бірдей атрибуттардың жиынтығымен сипаттала алады- іргелес екі қабырғалардың ұзындықтары. Солай бола тұра олар әртүрлі геометриялық қасиеттермен бірге әртүрлі математикалық объектілер бола алады.
Объектілерді класқа біріктіру тапсырмаларды жалпы қойылым ретінде көрсетуге мүмкіндік береді. Осы кластың барлық объектілеріне қатысты өзіне тән аты болады. Сонымен қатар кластағы атрибуттардың аттары кейбір объектілерге байланысты қойылады. Класты сипаттау ‘’ жазу ‘’ түрін сипаттауды еске түсіреді, әр объект тұрақты немесе тұрақсыз типтің мағынасындай мағыны береді.
ОБП- ның келесі негізгі түсінігі – операция. Операция дегеніміз берілген кластың объектісіне қолданатын функцияны айтамыз. Мысалы , үшбұрыштың геометриялық өзгерістері бір операцияны әртүрлі кластың объектісіне қолданады, оны полиморфтық операция деп атайды. Мысалы , “ вектор“ және “комплексті сан “ объектісіне көбейту операциясын қолдануға болады. Бұл полиморфтық операцияның мысалы болып табылады, себебі , векторды көбейту және комплексті сандарды көбейту - әртүрлі математикалық операциялар.
        
        Қазақстан Республикасы Білім және Ғылым министрлігінің Семей қаласындағы Шәкәрім атындағы университеті Информатика кафедрасы
СӨЖ №1
Тақырыбы: 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 арқылы өңдеген жөн.
ОБП- ны қолданып жазылған программа бір-бірімен ... - ... ... ... ... ... программалық жүзеге асыру- олардың өңдеу процедуралары мен берілгендерін біріктіру деген сөз. Турбо Паскальда Object типі бар, оны record ... ... ... деп ... ... ... ... типін объект экземпляры деп атайды.
Объект типінің жазу типінен айырмашылығы тек қана берілгендерді сипаттайтын бөлімі ғана бар емес, тағы да ... ... ... мен ... бар. Бұл ... мен ... әдіс ... табылады.Объектінің әдістеріне олардың бөлімдері қатысты. Әдістері мен ... ... ... ... ... ал ... ... асыру басқа жерде, яғни, программаның сол әдісті шақыру женрінде орындалады. Объектіні ... ... ... шаблондардан тұрады. Олар параметрлермен типтердің сандарының сәйкес екендігі компелятор үші н қажет.
Type
Location=obgect
x,y:integer;
Procedure init( initX, InitY: integer);
Function getX: ... getY: ... ... object_end сөздерінің көмегімен сипатталады. Олардың арасында әдістер мен бөлімдердің сипаттамасы бар. Келтірілген мысалда объект графикалық ... ... ... үшін екі ... ... ... әдістері сипатталған процедура мен екі функциялардан құралған. Объекті типтердің сипатталауының басқа сипатталудан ... - ол ... ... ... ... ең ... ... тұрады. Әдістер мен функциялар, процедуралардың сипатталу бөлімінде мұндай сипаттау болмайды. Резевтегі private сөзі объект бөлімдеріне кіре алмайды. ... ... X,Y ... location ... типінің getX, getY әдістері арқылы ғана кіреді. Мысалы:
Type
Location= object
Procedure init(initX, initY : ... getX: ... getY : ... X, Y : ... ... ... ... деген қасиеттерден тұрады.
Инкапсуляция - дегеніміз ол объектінің өзіне қолданылатын қажетті детальді жасыру.инкапсуляция тек өзіне тән ... ... ғана ... ... ұйымдастыратын бірден бір тәсіл. Инкасуляция- жаңа объект түрiн өңдеудегi берiлгендердiң процедура және функциялармен бiрiгуi болып табылады. ... ... бұл ... бiр ... (Object ... End) берiлгендер мен әдiстердi бiрiктiру мағанасын ... ... ОБП ... ... ... ... мәндерiн өзгерту мақсатында, берiлгендермен тура байланысуға болмайды. Объект берiлгендерi әдiстер арқылы өңделуi тиiст. Бұл инкапсуляция болып ... Private ... ... берiлгендер мен әдiстердiң б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 ... ... ... бөлігі. Егер программада берілген типтердің бірнеше айнымалыларының сипаттамасы келтірілген болса, онда әр айнымалы берілгендерді сақтау үшін өзінің есте сақтау облысы ... ал ... мен ... кіретін нүктелердің нұсқаулары үшін жалпы есте сақтау облысы болады. Әр әдісті шақыру мүмкіндігі тек қана ... ... ... ... ғана ... ... ... пайдаланып, дамыта және өзгерте отырып, мұрагерлік жаңа объектілерді анықтауға мүмкіндік береді.
Мұрагерлік
Кез-келген класс басқа ... ... Ол үшін оны ... ата - ана ... аты ... ... класстар автоматты түрде өзінің ата - анасының өрісі, әдісі және қасиеті ... және ... ... ... ... ... ... принципі күрделі кластарды кезеңмен құруды және өзінің жеке кластар кітапханасын ... ... ... ... Pascal - дың ... ... жалғыз ата-ана TObject класынан туындаған. Бұл кластың өрісі және қасиеттері жоқ, бірақ өзіне кез-келген ... ... ... ... ... ... ... әдістерін қамтиды. Программист TОbject класы ата - ана болмайтын класс құра алмайды. Оған төмендегідей ... тән: ... ... TObject ... оның ... ... дами ... біртіндеп кеңейетін тармақталған кластар құруға әкеледі. Әрбір ұрпақ ... ... ... ... ... оның ... ... беріп отырады.
Полиморфизм - бұл мағынасы ұқсас мәселелерді әр ... ... ... ... ... Object Pascal-дың шеңберінде кластардың қасиеті оған кіретін ... ... ... ... ... ... да бір ... алгоритімін өзгерте отырып, программист бұл ұрпаққа ата - анасында жоқ ... ... бере ... ... ... үшін оны сол ... жабу ... яғни ұрпақты бір атаулы әдісті хабарлап, оған қажетті әрекетті жүзеге асыру қажет. Нәтижесінде, объект-ата-ана мен ... ... ... ... бар, ... ... ... беретін екі бір атаулы әдіс жұмыс істейтін болады.
Object Pascal тілінде полиморфизм тек жоғарыда сипатталған мұрагерлік механизмі мен ата - ... ... ... ... сондай - ақ оларды виртуаландыруда жүзеге асады.
Полиморфизм ("көпкөрiнiстi") класты немесе әр кластың өзiнiң функциональды ролi бар ... ... ... ... ... ұсынады. Күрделi әдiстi жүрiстерi әр түрлi объектiнiң әр түрiне беру керек болатын тууы мүмкiн. Бұл ... ... ... бiр әдiс қолданып, айырмашылықтарын ауыспалы бағынышты әдiстерге жүктеген жөн болып табылады. Бұл идея ... ... деп ... Бұл идея ... ... ... ... iске асады. Объектiнi сипаттау барысында әрбiр "ауыспалы" әдiстiң ... ... Virtual сөзi ... керек. Ал оларды қосу үшiн конструкторге назар аударуымыз керек. Конструктор-бұл ... бiр түрi ... ... және ... ... ... ... сөзi процедура алдына жазылады. Бұл түсiнiктердi жақсы игеру үшiн мысал қарастырылған.
Қарастырылатын мысалда объектiлер ретiнде геометриялық фигуралар алынған. ... ... ... ... ... өзгерту->жаңа орында пайда болу" принципы бойынша фигураларды (хаосты) ұшыратын Fly әдiсi объектiлермен ... ... ... ... (Show) және жасыру(Hide) фигураның әр түрiне арнайы арналған болып табылады. Бұлар виртуальды әдiстерге "кандидат" болады. Бұл ... ... ой- ... ... және ... дейiн өзгерiп отыратын "ұшатын" фигуралар жиынын құру ... ...

Пән: Информатика
Жұмыс түрі: Материал
Көлемі: 5 бет
Бұл жұмыстың бағасы: 300 теңге









Ұқсас жұмыстар
Тақырыб Бет саны
Нысанды-бағдарланған программалаудың негізгі принциптері5 бет
Басқарушылық талдаудың әдістері3 бет
Бағдарламалау технологиясы21 бет
Деректерді қайта құру және полиморфизм. Полиморфизмді қолдану5 бет
Дк программалық жабдықтамасы, оның категориялары, сұлбасы, құрылымы3 бет
Жүйелік программалаудың негізгі ұғымдары мен анықтамалары жайлы ақпарат4 бет
Класстар иерархиясы. полиморфизм12 бет
Нысанды программалар18 бет
Программаны құрудың техникалық тапсырмасы. Программаларды техникалық жобалау кезеңдерін сипаттау. Алгоритмдердің құрылымдық схемесын дайындау8 бет
Станциялар6 бет


Исходниктер
Пәндер
Көмек / Помощь
Арайлым
Біз міндетті түрде жауап береміз!
Мы обязательно ответим!
Жіберу / Отправить


Зарабатывайте вместе с нами

Рахмет!
Хабарлама жіберілді. / Сообщение отправлено.

Сіз үшін аптасына 5 күн жұмыс істейміз.
Жұмыс уақыты 09:00 - 18:00

Мы работаем для Вас 5 дней в неделю.
Время работы 09:00 - 18:00

Email: info@stud.kz

Phone: 777 614 50 20
Жабу / Закрыть

Көмек / Помощь