Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Объектке-бағдарлы программалау (ОБП) негіздері
Негізгі қ ағ идалар. ОБП программалаудың басты технологиялардың бірі болып табылады да жақ сы қ ұ рылымдалғ ан, сенімді жә не оң ай модификацияланатын программаларды қ ұ руғ а мү мкіндік береді. Бұ л тә сілдің артық шылық тарын объектке-бағ ытталғ ан программалау тілдерінде пайдаланғ ан оң ай. Қ азіргі программалау тілдерінің кө бісі ОБП-ні сү йемелдейді, олардың қ атарына C++, Java, Delphi жатады. ОБП-ні Турбо Паскаль да сү йемелдейді. ОБП-ні пайдалану арқ ылы программаларды жетілдіру жобаланатын жү йенің объектілі моделін жетілдіруден басталады, ол ү шін проблеманы объекттерге жіктеу (декомпозициядау) жә не олардың арасындағ ы тә уелділіктерді анық тау орындалады. Объекттің сипаттамасы оның атрибуттар жиынтығ ы болып табылады. Тұ рақ ты жә не айнымалы атрибуттарды ажыратады. Тұ рақ ты атрибуттар объектті оның класс ы ішінде сипаттайды (мысалы, кө п бұ рыштың тө белер саны). Айнымалы атрибуттардың ағ ымдағ ы мә ндері объекттің қ алып-кү йін сипаттайды – бұ л атрибуттарды ө згерту арқ ылы біз объекттің қ алып-кү йлерін ө згертеміз (мысалы, кө п бұ рыштың тө белеріндегі бұ рыштардың мә ндерін). Кейде атрибуттардың типі жә не сонымен қ атар, айнымалы атрибуттардың бастапқ ы мә ні кө рсетіледі. Бұ л атрибуттардың бастапқ ы мә ндер жиынтығ ы объекттің бастапқ ы қ алып-кү йін береді. Ү шбұ рыштарғ а байланысты мысалда атрибуттар ретінде қ абырғ алардың ұ зындық тары болуы мү мкін. Объекттерді классқ а біріктіруге мү мкіндік беретін белгілер атрибуттуардан бұ рын есептің мағ ынасы жағ ынан тиянақ ты бө лігі арқ ылы анық талады. Мысалы, тік бұ рыштар жә не тікбұ рышты ү шбұ рыштар атрибуттардың бірдей жиынтығ ы – екі межелес қ абырғ аларының ұ зындық тары арқ ылы сипатталуы мү мкін. Бұ л кезде олар тү рлі геометриялық қ асиеттерге ие болатын тү рлі математикалық объекттер болып табылады. Объекттерді класстарғ а біріктіру мә селені жалпылау қ ойылымында қ арастыруғ а мү мкіндік береді. Класс атауғ а ие, ол атау осы класстың барлық объекттеріне қ атысты. Сонымен қ атар, класста объекттер ү шін анық талғ ан атрибуттардың атаулары ендіріледі. Класс сипатталуы «жазба» типті сипаттауғ а ұ қ сас екіндігі кө рініп тұ р, бұ л кезде ә р объекттің мағ ынасы сә йкес типті айнымалы немесе тұ рақ тының мағ ынасымен бірдей. ОБП-дың келесі негізгі ұ ғ ымы - операция. Операция деп оны берілген класстың объектілеріне қ олдануғ а болатын функцияны атайды (мысалы, ү шбұ рыштарды геометриялы тү рде тү рлендіру). Бірлей бір операцияны тү рлі класстардың объектілеріне қ олдануғ а болады – ондай операция полиморфты деп аталады. Мысалы, «вектор» жә не «кешенді сан» класстарының объектілері ү шін «кө бейту» операциясын анық тауғ а болады. Бұ л полиморфты операцияның мысалы, себебі векторларды (скалярлы) ө бейту жә не кешенді сандарды кө бейту - ә ртү рлі математикалық операциялар болып табылады. Ә діс деп берілген класстың объектілері ү шін операциялардың жү зеге асырылуын атайды. Сонымен, операция – ол ә дістің спецификациясы (сипатталуы), ал ә діс – операцияның жү зеге асырылуы. Логикалық тұ рғ ыда ә дістер бірдей бір операцияны орындай алады, бырақ, жү зеге кодтың ә ртү рлі фрагменттері арқ ылы асырылады. Кез келген операция ө зі соғ ан қ олданылатын бір айқ ын емес аргумент – объектке ие, бырақ ол басқ а да аргументтерге оны параметрлейтін параметрлерге ие болуы мү мкін. Ә діс тек класспен жә не объектпен ғ ана байланысқ а, Объекттің кейбір атрибуттарының мә ндеріне тек сол объекттің операциялары ғ ана қ ол жеткізе алады. Ондай атрибуттар жабық деп аталады. Ұ қ сама тү рде объектте жабық (қ осымша) рперацияларды да анық тауғ а болады. Сонымен, классты беру ү шін сол класстың аталу ын кө рсетіп, одан кейін оның атрибуттары мен операцияларын (немесе ә дістерін) кө рсету керек. Жалпылау жә не мұ рагерлік объекттердің тү рлі класстары арасындағ ы ұ қ састық тарды айқ ындауғ а жә не объекттердің кө пдең гейлі классификациясын анық тауғ а мү мкіндік береді. Мысал ретінде тағ ы да геометриялық фигуралар жиынтығ ын келтіруге болады. Жалпылау «бірө лшемді фигуралар» класын айқ ындап, «тү зу» жә не «доғ а» класстарды «бірө лшемді фигуралар» класының ішкі класстары деп, ал «бірө лшемді фигуралар» класын - «тү зу» жә не «доғ а» класстардың суперкласы деп санауғ а мү мкіндік береді. Егер бұ л жағ дайда суперкласстың атрибуттары мен операциялары оның ә р ішкі класстарында жарамды деп келісім қ абылдасақ (атрибуттар мен операцияларды ішкі класстар мұ раланды деп айтады), онда «тү зу» жә не «доғ а» класстардың бірдей атрибуттары мен операцияларын «бірө лшемді фигуралар» (суперкласс) класына шығ аркғ а болады. Ә р суперкласстың атрибуттары мен операцияларын оның барлық дең гейлеріндегі ішкі класстар мұ ра етіп алады, бұ л класстарды сипаттау ү рдісін едә уір жең ілдетеді жә не қ ысқ артады. Кейде оның суперкласстарының біреуінде анық талғ ан операцияны ішкі класста қ айта анық тау қ ажет болады. Ол ү шін мұ рагерлену нә тижесінде суперкласстан алынуы мү мкін болатын операция ішкі класста да анық талады. Ішкі класста мұ рагерленген емес оның ішінде қ айта анық талғ ан операция пайдаланылады. Қ айта анық тауды егер жаң а операция мұ рагерленген операцияны кең ейтетін болса пайдалануғ а болады. Сонымен, ОБП ақ паратты жасыру жә не деректер абстрактілі типтері тұ жырымдамаларғ а негізделген. Мұ ндай тә сіл деректер, модульдер жә не жү йелер сияқ ты барлық ресурстарды объекттер ретінде қ арастырады. Ә р объект сол деректерге амалдарды қ олдануғ а арналғ ан процедуралар (ә дістер) жиынтығ ымен қ апталғ ан деректердің кейбір қ ұ рылымын (немесе деректер типін) қ амтиды. Осы методологияны пайдалана отырып, программалаушы ө зінің жеке абстрактілі типін қ ұ рып, проблемалық облысты ө зі қ ұ рғ ан осы абстракцияларғ а бейнелей алады. Бұ л бағ ытта программалаушы жү йеде пайдаланылатын ақ параттық объекттердің бө лшектері туралы ойланбай жү йенің жобасына кө ң іл бө леді. Осы методологияда кө зделген программаны жетілдірудің негізгі қ адамдары: · проблеманы анық тау; · болашақ программағ а қ ойылатын талаптарды қ анағ аттандыратын қ адамдардың жалпы тізбектілігі болып табылатын формальсыз стратегияны жетілдіру; · стратегияны формализациялау; · объекттер мен олардың атрибуттарын идентификаттау; · операцияларды идентификаттау; · интерфейстерді орнату; · операцияларды жү зеге асыру.
|