Objective-J

Վիքիպեդիայից՝ ազատ հանրագիտարանից
Jump to navigation Jump to search
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