From Wikipedia, the free encyclopedia
Objective-J, ծրագրավորման լեզու, մշակվել է որպես Cappuccino-ի մաս և նախատեսված է վեբ-հավելվածների համար։ Նրա շարահյուսությունը գրեթե նույնն է, ինչ Objective-C-ինը։ Objective-J-ն վերաբերվում է ինչպես JavaScript-ին, այնպես էլ Objective-C ծրագրավորման լեզվին. նրա խիստ, բայց կոմպակտ գերակայությունն է։ Objective-J-ն JavaScript-ում ավելացնում է ավանդական ժառանգություն և դինամիկ պլանավորում Smalltalk/Objective-C ոճում։ Մաքուր Javascript-ում, որպես նախատիպի լեզու, արդեն առկա է օբյեկտի կողմնորոշման և ժառանգության մասին պատկերացում, սակայն Objective-J-ն JavaScript-ին ավելացնում է դասակարգային ծրագրավորման օգտագործման հնարավորությունը։
Տեսակ | ծրագրավորման լեզու և օբյեկտ կողմնորոշված ծրագրավորման լեզու |
---|---|
Լույս տեսավ՝ | 2008 |
Արտոնագիր | GNU Lesser General Public License |
Կայք | cappuccino-project.org |
Objective-J-ում գրված ծրագրերը պահանջում են նախապատրաստում, նախքան JavaScript-ի վիրտուալ մեքենայի օգնությամբ վեբ բրաուզերում իրագործելը։ Այս փուլը կարող է կատարվել վեբ բրաուզերում իրագործման ընթացքում, օգտագործելով կոմպիլյատոր(բանաքաղ), որը ծրագրերը թարգմանում է Objective-J-ում` մաքուր JavaScript-ի ծածկագրով։ Objective-J բանաքաղը գրված է JavaScript-ում, այդ իսկ պատճառով Objective-J-ի ծրագրերի տեղակայումը բրաուզերի համար չի պահանջում որևէ հատուկ հավելում։
Objective-J-ի առաջին լիիրավ կիրառումը կապված է Cappuccino-ի շրջանակի հիման վրա ստեղծված 280Slides վեբ-հավելվածի հետ։ Թեև Objective-J-ն կարող է օգտագործվել Cappuccino-ից անկախ, սակայն այն առաջին հերթին նախատեսված է համացանցի կատարելագործմանն աջակցելու համար և ստեղծվել է Cappuccino-ի հիման վրա ։
Objective-J-ն JavaScript-ի գերշահույթն է, ինչը նշանակում է, որ ցանկացած JavaScript-ի վավերական համարվում է նաև Օբյեկտիվ-J-ի վավերական կոդ։ Հետևյալ օրինակում նկարագրվում է Objective-J դասը՝ Address անվամբ։ Այս դասը տարածվում է CPObject-ի արմատային դասի վրա, որը կատարում է NSObject-ի դերը Objective-C-ում։ Այս կոդը համարվում է նաև Objective-С դասի նկարագրման օրինակ։
@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-ից։
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.