Objective-J

Материал из Википедии — свободной энциклопедии
Текущая версия страницы покане проверялась опытными участниками и может значительно отличаться отверсии, проверенной 9 сентября 2017 года; проверки требуют2 правки.
Перейти к навигацииПерейти к поиску
Objective-J
Класс языкамультипарадигмальный:рефлексивно-ориентированное,объектно-ориентированное,функциональное,императивное,скриптовое
Появился в2008
Разработчик280 North, Inc.
Система типовдинамическая,слабая,утиная
Испытал влияниеObjective-C,JavaScript
ЛицензияLGPL
Сайтcappuccino.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.

@implementationAddress:CPObject{CPStringname;CPStringcity;}-(id)initWithName:(CPString)aNamecity:(CPString)aCity{self=[superinit];name=aName;city=aCity;returnself;}-(void)setName:(CPString)aName{name=aName;}-(CPString)name{returnname;}+(id)newAddressWithName:(CPString)aNamecity:(CPString)aCity{return[[selfalloc]initWithName:anamecity:aCity];}@end

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

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

[править |править код]

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

См. также

[править |править код]

Ссылки

[править |править код]
Имеетсявикиучебник по теме«Objective-J»
Источник —https://ru.wikipedia.org/w/index.php?title=Objective-J&oldid=138320515
Категории:
Скрытые категории: