Objective-C

Վիքիպեդիայից՝ ազատ հանրագիտարանից
Jump to navigation Jump to search
Objective-C
Տեսակծրագրավորման լեզու, class-based programming language?, reflective programming language?, օբյեկտ կողմնորոշված ծրագրավորման լեզու և բազմահարացուցային ծրագրավորման լեզու
Առաջացել է1984
Ընդլայնումներ.h, .m, .mm և .C
Ներշնչվել էC և Smalltalk
Կայքdeveloper.apple.com/library/mac/navigation
Objective-C Վիքիպահեստում

Objective-C, կազմված օբյեկտակողմնորոշված ծրագրավորման լեզու, որն օգտագործվում է Apple-ի կողմից։ Կառուցվել է ծրագրավորման C լեզվի և պարադիգմա Smalltalk-ի հիման վրա[1]։ Մասնավորապես, օբյեկտի մոդելը կառուցված է SmallTalk-ի ոճով, այսինքն, այն օբյեկտի ուղարկում է հաղորդագրություն։

Objective-C լեզուն ենթաբազմությունն է C լեզվի, այնպես, որ C կոդ կազմողը հասկանում է Objective-C։

Objective-C կոմպիլյատորը ընդգրկված է GCC-ի մեջ և հասանելի է մեծամասնությունը կազմող բոլոր ծրագրերում։ Լեզուն առաջին հերթին օգտագորխվում է Mac OS X (Cocoa)-ի և GNUstep-ի համար։

Պատմություն[խմբագրել | խմբագրել կոդը]

1980-ականների սկզբին հայտնի էր կառուցվածքային ծրագրավորումը, որը թույլ էր տալիս ալգորիթմը բաժանել փոքր մասերի։ Կառուցվածքային ծրագրավորման մեջ դժվար խնդիրների աճը հանգեցրել է կոդի որակի նվազման և անհրաժեշտություն առաջացավ գրել ավելի ու ավելի շատ հատկանիշներ, որոնք հազվադեպ են օգտագորխվում այլ ծրագրերում։

Շատերն են տեսել օբյեկտակողմնորոշված ծրագրավորման բարդ խնդիրների լուծման պոտենցիալը։ Մի կողմից Smalltalk-ը օգտագործում է բոլոր գրեթե քինչ թե շատ բարդ համակարգերը։ Objecyive-C ծրագրավորման լեզուն ստեղծվել է Բրեդ Քոքսոնի կողմից 1980-ական թվականներին իր Stepstone ընկերությունում։ Նա փորձել է լուծել կրկնակի կոդի օգտագործման խնդիրը։ Բրեդ Քոքսի նպատակը ստեղծելու լեզուն այն էր, որ նա ցանակնում էր ստեղծել հնարավորություն կառուցելու ծրագրերի նախնական կառուցվածքը, ճիշտ այնպես, ինչպես մի բարդ էլեկտրոնային սարք,որը կարող է հավաքել մի շարք պատրաստի ինտեգրացված սխեմաներ։ Այս լեզուն պետք էր լինել պարզ, որպեսզի իր վրա կենտրոնացներ օգտագործողների մեծամասնությանը։ Ներկայումս Objective-C ծրագրավորման լեզուն համոգործակցում է Clang և GCC կոմպիլյատորների հետ։

Լեզվի շարահյուսություն[խմբագրել | խմբագրել կոդը]

Objective-C ծրագրավորման լեզվում օբյեկտների նշանակումների համար օգտագործվում է հատուկ տիպի ID։ ID փոփախականի տեսակը, իրականում, կամայական օբյեկտի ցուցիչ է։ Զրոյական նշանակումների համար օգտագործվում է nil(=NULL) հաստատունը։ Այս ID-ն կարող է օգատգործվել սովորական նույնականացման նշումով դասի փոխարեն։ Մասնավորապես, վերջինս թույլ է տալիս օգտագործողին իրականացնել որոշ փորձնական հնարավորություններ։

Հաղորդագրությունների ուղարկման համար օգտագործվում է հաջրոդ շարահյուսությունը՝

   [receiver message];

Հաղորդագրության մեջ կարող են օգտագործվել նաև պարամետրեր՝

   [myRect setOrigin:30.0 :50.0];

Objective-C ծրագրավորման լեզուն պիտակներ է մատակարում յուրաքանչյուր արգումնետին, որը մեծապես բարելավում է կարդալու հնարավորությունը և սխալ պարամետրի հաղորդման հավանականությունը։ Հենց այս ձևից են օգտվում շատ կազմողներ՝

   [myRect setWidth:10.0 height:20.0];

Այսպես նաև ապահովում է կամայական թվով արգումնտի փոխանցում հաղորդագրության մեջ՝

   [myObject makeGroup: obj1, obj2, obj3, obj4, nil];

Ինչպես ֆունկցիաները, հաղորդագրությունը կարող է հետ բերել անվանումը, տիպը և լռելյայնը՝

   float area = [myRect area];

Որևէ հաղորդագրության արդյունքը կարող է օգտագործվել այլ հաղորդագրության մեջ՝

   [myRect setColor:[otherRect color]];

Հատկություններ[խմբագրել | խմբագրել կոդը]

Օրինակ Company դասը կապ ունի փոփոխական անունի հետ՝

{
     NSString *name;
}

Նոր դասերի ստեղծում[խմբագրել | խմբագրել կոդը]

Objective-C ծրագրավորման լեզվի բոլոր բանալի բառերը սկսվում են @ սիմվոլով։ Կառուցվածքի նոր դասի նկարագրությունը հետևյալն է՝

@interface ClassName : SuperClass
{
    instance variable declarations
}

method declarations
@end

Ծանոթագրություններ[խմբագրել | խմբագրել կոդը]

  1. Cox Brad (1983)։ «The object oriented pre-compiler: programming Smalltalk 80 methods in C language»։ ACM SIGPLAN Notices (New York, NY: ACM) 18 (1)։ doi:10.1145/948093.948095։ Վերցված է 2011-02-17