Objective-C

**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-ն կարող է օգատգործվել սովորական նույնականացման նշումով դասի փոխարեն։ Մասնավորապես, վերջինս թույլ է տալիս օգտագործողին իրականացնել որոշ փորձնական հնարավորություններ։

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

```objc
[receiver message];
```

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

```objc
[myRect setOrigin:30.0 :50.0];
```


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

```objc
[myRect setWidth:10.0 height:20.0];
```


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

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


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

```objc
float area = [myRect area];
```


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

```objc
[myRect setColor:[otherRect color]];
```


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

```objc
{
     NSString *name;
}
```


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


```objc
@interface ClassName : SuperClass
{
    instance variable declarations
}

method declarations
@end
```


## Ծանոթագրություններ

Կատեգորիա:Ծրագրավորման լեզուներ
Կատեգորիա:Օբյեկտ կողմնորոշված ծրագրավորման լեզուներ