Objective-C

Objective-C

Objective-C, известный также как Objective C, ObjC или Obj-C — компилируемый объектно-ориентированный язык программирования корпорации Apple, построенный на основе языка Си и парадигм Smalltalk. В отличие от C++, язык Objective-C полностью совместим с Си (язык Objective-C является надмножеством языка Си) и код на Си компилируется. Объектная модель построена в стиле Smalltalk, то есть объектам посылаются сообщения. Компилятор Objective-C входит в GCC и доступен на большинстве основных платформ. Язык используется в первую очередь для Mac OS X (Cocoa) и GNUstep — двух реализаций объектно-ориентированного интерфейса OpenStep.

ObjC был создан Брэдом Коксом в начале 1980х в его компании Stepstone.

Ещё одной из особенностей языка является то, что он message-oriented в то время как C++ — function-oriented. Это значит, что в нём вызовы метода интерпретируются не как вызов функции (хотя к этому обычно все сводится), а именно как посылка сообщения (с именем и аргументами) объекту, подобно тому, как это происходит в Smalltalk-е. Такой подход дает целый ряд плюсов — так любому объекту можно послать любое сообщение. Объект может вместо обработки сообщения просто переслать его другому объекту для обработки (так называемое делегирование), в частности именно так можно легко реализовать распределенные объекты (то есть объекты, находящиеся в различных адресных пространствах и даже на разных компьютерах). Привязка сообщения к соответствующей функции происходит непосредственно на этапе выполнения.

В языке есть нормальная поддержка протоколов (то есть понятие интерфейса объекта и протокола четко разделены). Для объектов поддерживается наследование (не множественное), для протоколов поддерживается множественное наследование. Объект может быть унаследован от другого объекта и поддерживать сразу несколько протоколов.

Дальнейшее рассмотрение материала подразумевает, что вы знакомы с языком С, и мы пройдем только по дополнительным возможностям, предоставленным нам Objtctive-C.

Структура именования файлов: файлы с расширением - h являются заголовками с описанием классов, функций также как в С и С++, файлы с расширением - m соответственно содержат реализацию классов и методов.

В книге Become an Xcoder русское издание можно почерпнуть азы Objtctive-C.

 
 
homeЗаметили ошибкукарта сайта 
   Made on a Mac