Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Объектіге-бағытталған программалау тілдері.






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

Объектіге-бағ ытталғ ан программалау тіл - мұ рағ аттау мен полиморфизмді сү йемелдейтін объектілі программалау тілі.

Объектіге-бағ ытталғ ан программалау тіл – объектіге-бағ ытталғ ан программалау принциптердің негізінде қ ұ рылғ ан тіл.

Объектіге-бағ ытталғ ан программалау тұ жырымдамалардың негізінде объект - ө рістерді (деректерді) жә не ә дістерді (объект орындайтын амалдарды) біріктіретін кейбір субстанция ұ ғ ымы жатыр.

Мысалы, «адам» объекті «есімі», «фамилиясы» ө рістеріне жә не «тамақ тану», «ұ йық тау» ә дістеріне ие болуы мү мкін. Сә йкесінше біз программада Адам.Есімі: =" Абай" жә не Адам.Тамақ тану (нан) операторларын пайдалана аламыз.

Объектке–бағ ытталғ ан программалау (ОБП) – негізгі тұ жырымдамалары объект жә не класс ұ ғ ымдары болатын программалау парадигмасы.

Класс – объекттердің -экземплярлардың қ ұ рылысын сипаттайтын тип. Классты оғ ан сә йкес объекттер қ ұ рылатын чертежбен салыстыруғ а болады. Ә детте класстарды олардың объекттері пә н саласының объекттеріне сә йкес болатындай етіп жетілдіреді.

Прототип – оның бейнесі мен ұ қ састығ ы бойынша басқ а объекттер қ ұ рылатын ү лгілі объект.

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

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

Қ азіргі кезде объектке-бағ ытталғ ан программалау қ олданбалы программалау саласында абсолютті лидер болып табылады (Java, C#, C++, JavaScript, ActionScript жә не басқ а тілдер). Сонымен қ атар, жү йелік программалау саласында ә лге дейін процедуралық программалау парадигмасы алдың ғ ы орында жә не программалаудың негізгі тілі болып С тілі табылады. Сонымен қ атар, операциялық жү йелердің қ олданбалы жә не жү йелік дең гейлерінің ө зара ә рекеттесуінде елеулі ә серін объектке-бағ ытталғ ан программалау тілдері тигізе бастады. Мысалы, C++ тілінде жазылғ ан Qt жү йесі мультиплатформалық стандартқ а айналды.

Объектке бағ ытталғ ан принциптері ұ сынылғ ан программалау тілдердің біріншісі Симула тілі болғ ан. Ө зінің пайда болу мерзімінде (1967 ж) бұ л программалау тілі шың мә нінде революционды идеяларды ұ сынды: объекттер, класстар, виртуалды ә дістер жә не басқ алар, бырақ оның бә рі замандастармен орасан зор нә рсе ретінде қ абылданғ ан жоқ. Бырақ концепциялардың кө бісін Алан Кэй жә не Дэн Ингаллс Smalltalk тілінде дамытылды. Дә л осы тіл кең тарағ ан объектке-бағ ытталғ ан тілдердің біріншісі болды.

Қ азіргі замаң ғ ы объектке бағ ытталғ ан тілдерде келесі ә дістер пайдаланылады:

· Типизациялау. Компиляциялау моментіндегі кө птеген қ ателерді жоюғ а мү мкіндік береді, операциялар тек типтері лайық ты болатын объекттерге ғ ана қ олданылады. По

· Деректер абстракциясы. Объекттер предметтік саланың нақ тылы мә ністердің қ арапайымдалғ ан, идеалистелген сипаттауы болып табылады. Егер сә йкес модельдер шешілетін есепке адекватты болса, онда олармен жұ мыс істеу объекттің барлық мү мкін болатын қ асиеттері мен реакцияларының тө мен дең гейлі сипатталуымен жұ мыс істуге қ арағ анда едә уір ың ғ айлы.

· Инкапсуляция. Инкапсуляция – оғ ан сә йкес кезкелген класс қ ара ящик ретінде қ арастырылуы тиіс принцип – классты тұ тынушы класстың тек интерфейстік бө лігін ғ ана кө ріп пайдалануы тиіс (яғ ни, класстың декларацияланғ ан қ асиеттері мен ә дістер тізімін) жә не оның ішкі іске асырылуына ұ ғ ынбау керек. Сондық тан оларғ а оқ у немесе жазу бойынша қ ол жеткізу тікелей емес ә дістер арқ ылы іске асырылатындай етіп деректерді классқ а инкапсуляциялау керек. Инкапсуляциялау ә дісі класстар арасындағ ы байланыстар саны минимумдеуге жә не сондық тан класстардың тә уелсіз іске асырылуы мен модификациялауын қ арапайымдауғ а мү мкіндік береді.

· Мұ рагерлік. Мұ рагерлік деп класс-тегінің (ата-бабаны кейде суперкласс деп атайды) барлық қ асиеттері мен ә дістерін сақ тап қ алып жә не қ ажет болса жаң а қ асиеттер мен ә дістерді қ осып бір класстан екінші классты туындылау мү мкіндігін атайды. Мұ рагерлік қ атынас арқ ылы байланысқ ан класстар жиынтығ ын иерархия деп атайды. Мұ рагерлік нақ тылы ә лемнің иерархиялық сияқ ты қ асиетін бейнелеуге арналғ ан.

· Полиморфизм. Полиморфизм деп бірдей бір программалық код (полиморфты код) оны шақ ыруда қ ай класстың объектті пайдаланатына тә уелді ә ртү рлі орындалатын қ ұ былысын атайды.

· Полиморфизм ә дістің сигнатурасын міндетті тү рде сақ тап қ алып тек-класс ә дісінің іске асырылуын ұ рпақ -класс ішінде ө згерту арқ ылы қ амтамасыз етіледі. Ол тек-класс интерфейсін ө згеріссіз сақ тап қ алуды қ амтамасыз етіп кодтағ ы ә діс аталуын тү рлі класстармен байланыстыруды іске асыруғ а мү мкіндікбереді – қ ай класс объектісінен шақ ыру жү зеге асырылатын болса сол класстан берілген атаулы ә діс алынады. Мұ ндай механизм динамикалық (кеш) байланыстыру деп аталады. Ал статикалық (ерте) байланыстыру программаны компиляциялау барысында іске асырылады.

Негізгі тұ жырымдамалар. Жү йе объекттерден тұ рады. Объекттер белгілі бір тү рде ө зара ә рекеттеседі. Ә р объект ө з кү йі жә не тә ртібі арқ ылы сипатталады. Объект кү йі деректер ө рістерінің мә ндері арқ ылы беріледі. Объект тә ртібі ә дістер арқ ылы беріледі.

Объекке-бағ ытталғ ан программалау тілі (ОБП-язык) — объекке-бағ ытталғ ан программалауғ а қ олайлы тіл.

Объекке-бағ ытталғ ан программалау тілдердің қ ысқ аша тізімі:

C#; C++; Java; Delphi; Eiffel; Simula; D (программалау тілі); Io; Objective-C; Object Pascal; VB.NET; Visual DataFlex; Perl; Php; PowerBuilder; Python; Scala; ActionScript 3.0; JavaScript; JScript.NET; Ruby; Smalltalk; Ada; Xbase++; X++; Vala.

Жалпы тағ айындалғ ан объекке-бағ ытталғ ан тілдермен қ атар мамандандырылғ ан ОБ тілдері де бар.

3 лекция Пайдаланушының ДК мен байланысын қ амтамасыз ететін сұ хбаттық қ ұ ралдары. Программалаудың біртұ тас жү йелері. Техникалық есептер қ ойылымдарының жіктелуі. Есептеудің типтік қ ұ рамды бө ліктері: талдау, синтездеу, шешім қ абылдау. Ғ ылыми-техникалык есептер алгоритмдер сұ лбаларының мысалдары






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.