Objective-J

Поделись знанием:
Перейти к: навигация, поиск
Objective-J
Класс языка:

мультипарадигмальный: рефлексивно-ориентированное, объектно-ориентированное, функциональное, императивное, скриптовое

Появился в:

2008

Система типов:

динамическая, слабая, утиная

Испытал влияние:

Objective-C, JavaScript

Лицензия:

LGPL

Сайт:

[cappuccino.org/ ino.org]

Objective-J — язык программирования, разрабатываемый как часть Cappuccino — фреймворка для веб-приложений. Его синтаксис почти полностью идентичен синтаксису Objective-C. Objective-J относится к JavaScript так же, как Objective-C к языку программирования C: является его строгим, но компактным надмножеством. Objective-J добавляет в JavaScript традиционное наследование и динамическую диспетчеризацию в стиле Smalltalk/Objective-C. В чистом Javascript как языке прототипного типа уже существует понятие об объектной ориентации и наследовании, но Objective-J добавляет в JavaScript возможность использовать основанное на классах программирование.

Программам, написанным на Objective-J, требуется предварительная обработка перед тем, как они смогут быть исполнены виртуальной машиной JavaScript в веб-браузере. Этот этап может проходить во время исполнения в веб-браузере с помощью компилятора, который транслирует программы на Objective-J в код на чистом JavaScript. Компилятор Objective-J написан на JavaScript, и поэтому развертывание программ на Objective-J не требует наличия какой-нибудь специальной надстройки для браузера.





Применение

Первое полномасштабное применение Objective-J связано с созданием веб-приложения 280Slides на основе фреймворка Cappuccino. Хотя Objective-J может быть использован (и разрабатывался) независимо от Cappuccino, Objective-J в первую очередь был создан для поддержки веб разработки на основе Cappuccino.

Синтаксис

Objective-J — надмножество JavaScript, а это означает, что любой валидный код на JavaScript является также валидным кодом Objective-J. Следующий пример иллюстрирует определение на Objective-J класса с названием Address. Этот класс расширяет корневой класс CPObject, который играет роль, подобную роли NSObject в Objective-C. За исключением названия корневого объекта этот код также является примером определения класса на языке Objective-C.

@implementation Address : CPObject
{
   CPString name;
   CPString city;
}
- (id)initWithName:(CPString)aName city:(CPString)aCity
{
    self = [super init];

    name = aName;
    city = aCity;

    return self;
}
-(void)setName:(CPString)aName
{
      name = aName;
}
-(CPString)name
{
      return name;
}  
+(id)newAddressWithName:(CPString)aName city:(CPString)aCity
{
      return [[self alloc] initWithName:aname city:aCity];
}

@end

Как и в случае с Objective-C определения методов класса и методов экземпляра начинаются соответственно с '+' (плюс) и '-' (минус).

Управление памятью

В отличие от Objective-C, объекты в Objective-J не нуждаются в освобождении, поскольку они автоматически освобождаются сборщиком мусора JavaScript.

Напишите отзыв о статье "Objective-J"

Примечания

См. также

Ссылки

  • [cappuccino.org/learn/tutorials/objective-j-tutorial.php Изучение Objective-J]. Cappuccino Web Framework. [www.webcitation.org/66U0HSjL2 Архивировано из первоисточника 27 марта 2012].

Отрывок, характеризующий Objective-J

– Mon enfant! – проговорила она, – je vous aime et vous connais depuis longtemps. [Дитя мое! я вас люблю и знаю давно.]
Несмотря на все свое волнение, княжна Марья поняла, что это была графиня и что надо было ей сказать что нибудь. Она, сама не зная как, проговорила какие то учтивые французские слова, в том же тоне, в котором были те, которые ей говорили, и спросила: что он?
– Доктор говорит, что нет опасности, – сказала графиня, но в то время, как она говорила это, она со вздохом подняла глаза кверху, и в этом жесте было выражение, противоречащее ее словам.
– Где он? Можно его видеть, можно? – спросила княжна.
– Сейчас, княжна, сейчас, мой дружок. Это его сын? – сказала она, обращаясь к Николушке, который входил с Десалем. – Мы все поместимся, дом большой. О, какой прелестный мальчик!
Графиня ввела княжну в гостиную. Соня разговаривала с m lle Bourienne. Графиня ласкала мальчика. Старый граф вошел в комнату, приветствуя княжну. Старый граф чрезвычайно переменился с тех пор, как его последний раз видела княжна. Тогда он был бойкий, веселый, самоуверенный старичок, теперь он казался жалким, затерянным человеком. Он, говоря с княжной, беспрестанно оглядывался, как бы спрашивая у всех, то ли он делает, что надобно. После разорения Москвы и его имения, выбитый из привычной колеи, он, видимо, потерял сознание своего значения и чувствовал, что ему уже нет места в жизни.
Несмотря на то волнение, в котором она находилась, несмотря на одно желание поскорее увидать брата и на досаду за то, что в эту минуту, когда ей одного хочется – увидать его, – ее занимают и притворно хвалят ее племянника, княжна замечала все, что делалось вокруг нее, и чувствовала необходимость на время подчиниться этому новому порядку, в который она вступала. Она знала, что все это необходимо, и ей было это трудно, но она не досадовала на них.
– Это моя племянница, – сказал граф, представляя Соню, – вы не знаете ее, княжна?
Княжна повернулась к ней и, стараясь затушить поднявшееся в ее душе враждебное чувство к этой девушке, поцеловала ее. Но ей становилось тяжело оттого, что настроение всех окружающих было так далеко от того, что было в ее душе.
– Где он? – спросила она еще раз, обращаясь ко всем.
– Он внизу, Наташа с ним, – отвечала Соня, краснея. – Пошли узнать. Вы, я думаю, устали, княжна?
У княжны выступили на глаза слезы досады. Она отвернулась и хотела опять спросить у графини, где пройти к нему, как в дверях послышались легкие, стремительные, как будто веселые шаги. Княжна оглянулась и увидела почти вбегающую Наташу, ту Наташу, которая в то давнишнее свидание в Москве так не понравилась ей.
Но не успела княжна взглянуть на лицо этой Наташи, как она поняла, что это был ее искренний товарищ по горю, и потому ее друг. Она бросилась ей навстречу и, обняв ее, заплакала на ее плече.
Как только Наташа, сидевшая у изголовья князя Андрея, узнала о приезде княжны Марьи, она тихо вышла из его комнаты теми быстрыми, как показалось княжне Марье, как будто веселыми шагами и побежала к ней.
На взволнованном лице ее, когда она вбежала в комнату, было только одно выражение – выражение любви, беспредельной любви к нему, к ней, ко всему тому, что было близко любимому человеку, выраженье жалости, страданья за других и страстного желанья отдать себя всю для того, чтобы помочь им. Видно было, что в эту минуту ни одной мысли о себе, о своих отношениях к нему не было в душе Наташи.