«Օբյեկտ կողմնորոշված ծրագրավորում»–ի խմբագրումների տարբերություն
Content deleted Content added
չ clean up, փոխարինվեց: չեր → չէր, — → - oգտվելով ԱՎԲ |
|||
Տող 2.
== Պատմություն ==
ՕԿԾ-ն առաջացել է [[պրոցեդուրային ծրագրավորում|պրոցեդուրային ծրագրավորման]] գաղափարախոսության զարգացման արդյունքում, որտեղ տվյալները, և դրանք մշակող ֆունկցիաները ձևականորեն կապված չեն:
Առաջին ծրագրավորման լեզուն, որտեղ ներկայացված են եղել օբյեկտ կողմնորոշված ծրագրավորման սկզբունքները՝ [[Սիմուլա(ծրագրավորում)|Սիմուլան]](simula) էր: Իր հայտնվելու պահին (1967թ.) այն առաջարկում էր հեղափոխական գաղափարներ՝ օբյեկտ, դաս, վիրտուալ մեթոդ և այլն: Սակայն այս ամենը այնքան էլ մեծ իրարանցմամբ չընդուվեց ժամանակին: Ամեն դեպքում Սիմուլայի գաղափարների մեծ մասը զարգացվեցին Ալան Քեյի և Դեն Ինգալսի կողմից՝ Սմոլթոկ(Smalltalk) լեզվի մեջ: Վերջինս էլ դարձավ առաջին լայն տարածում գտած օբյեկտ-կողմնորոշված ծրագրավորման լեզուն:
Ներկայումս օբյեկտ-կողմնորոշված ծրագրավորման լեզուները ամենատարածվածն են աշխարհում, սակայն, օրինակ՝ օպերացիոն համակարգերի ծրագրավորման ոլորտում մինչև հիմա օգտագործվում են պրցեդուրային մոտեցման սկզբունքները, որոնց կրիչն է լայն տարածում գտած [[C (ծրագրավորման լեզու)|Սի(C)]] լեզուն:
== Հիմնական սկզբունքներ ==
; [[Տվյալների աբստրակցիա|Աբստրակցիա]] (Վերացարկում) : Աբստրակցիա
; [[Ինկապսուլյացիա (ծրագրավորում)|Ինկապսուլյացիա
; [[Ժառանգում (ծրագրավորում)|Ժառանգում]] : Սա համակարգի հատկություն է, որը թույլ է տալիս նկարագրել նոր դաս՝ մեկ այլ դասի հիմքի վրա, ֆունկցիոնալության մասնակի կամ լրիվ փոխառնմամբ: Այն դասը, որից կատարվում է ժառանգում կոչվում է բազային կամ ծնող դաս: Իսկ նոր դասը կոչվում է ածանցյալ կամ ժառանգ դաս:<ref name="payson-OOP" />
; [[Պոլիմորֆիզմ (ծրագրավորում)|Պոլիմորֆիզմ]] (Բազմաձևություն): Սա համակարգի հատկություն է, որը թույլ է տալիս միանման [[ինտերֆեյս
; [[Դաս (ծրագրավորում)|Դաս]] : Դասը հանդիսանում է ելակետային կոդի տերմինալոգիայով նկարագրված, դեռ գոյություն չունեցող օբյեկտի մոդել: Փաստացի այն նկարագրում է օբյեկտի կառուցվածքը, հանդիսանալով օբյեկտի ՛՛գծագիր՛՛:
Տող 29.
ՕԿԾ-ում [[Դաս (ծրագրավորում)|դաս]] հասկացության առաջացումը պայմանավորված է նման վարքագծով բազմաթիվ օբյեկտներ ունենալու ցանկությամբ: Այստեղ դասը տվյալների աբստրակտ տիպ է, որը ստեղծվում է ծրագրավորողի կողմից: Այս տեսանկյունից դիտելիս՝ օբյեկտները այդ աբստրակտ տիպի արժեքներ են, իսկ դասի սահմանումը տալիս է դրանց տվյալների ներքին կառուցվածքը և այդ տվյալների հետ կատարվելիք գործողությունները: Եթե մի քանի դաս ունեն համանման վարքագիծ, ապա տրամաբանական է կոդ չկրկնելու ցանկությունը՝ ինչը իրականցվում է [[Ժառանգում (ծրագրավորում)|ժառանգման]] միջոցով: Ժառանգման սկզբունքը կայանում է նրանում, որ կարիք չկա սահմանել մի քանի միանման դաս, երբ ուղղակի կարելի է խմբավորել այդ դասերի ընդհանուր մասերը մի ծնող դասի մեջ և այնուհետև ժառանգել մնացածը այդ դասից՝ դրանց սահմանման մեջ նշելով միայն ծնողի նկատմամբ տարբերությունները:
Տարբեր դասերի օյեկտների համատեղ օգտագործման անհրաժեշտությունը բերում է [[Պոլիմորֆիզմ (ծրագրավորում)|
Շատ ժամանակակից լեզուներում հաղորդագություն ուղակելու տակ նկատի ունենք մեթոդի կանչը՝ օբյեկտները ունեն դրսից հասանելի մեթոդներ և դրանց կանչերով ապահովվում են օբյեկտների փոխազդեցությունները: Այս լեզուներից են [[C++]], [[Java]], [[Oberon-2]]...
|