Objective-J
Տեսակ | ծրագրավորման լեզու և օբյեկտ կողմնորոշված ծրագրավորման լեզու |
---|---|
Լույս տեսավ՝ | 2008 |
Արտոնագիր | GNU Lesser General Public License |
Կայք | cappuccino-project.org |
Objective-J, ծրագրավորման լեզու, մշակվել է որպես Cappuccino-ի մաս և նախատեսված է վեբ-հավելվածների համար։ Նրա շարահյուսությունը գրեթե նույնն է, ինչ Objective-C-ինը։ Objective-J-ն վերաբերվում է ինչպես JavaScript-ին, այնպես էլ Objective-C ծրագրավորման լեզվին. նրա խիստ, բայց կոմպակտ գերակայությունն է։ Objective-J-ն JavaScript-ում ավելացնում է ավանդական ժառանգություն և դինամիկ պլանավորում Smalltalk/Objective-C ոճում։ Մաքուր Javascript-ում, որպես նախատիպի լեզու, արդեն առկա է օբյեկտի կողմնորոշման և ժառանգության մասին պատկերացում, սակայն Objective-J-ն JavaScript-ին ավելացնում է դասակարգային ծրագրավորման օգտագործման հնարավորությունը։
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-ից։
Տես նաև[խմբագրել | խմբագրել կոդը]
Արտաքին հղումներ[խմբագրել | խմբագրել կոդը]
- «Objective-J-ի ուսուցումը»։ Cappuccino Web Framework։ Արխիվացված է օրիգինալից 2012-03-27-ին