**Objective-C,** կազմված օբյեկտակողմնորոշված ծրագրավորման լեզու, որն օգտագործվում է Apple-ի կողմից։ Կառուցվել է ծրագրավորման C լեզվի և պարադիգմա Smalltalk-ի հիման վրա։ Մասնավորապես, օբյեկտի մոդելը կառուցված է 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