Mål-J

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 9. september 2017; verifikation kræver 1 redigering .
Mål-J
Sprog klasse multi- paradigme : reflekterende orienteret , objektorienteret , funktionel , imperativ , scripting
Dukkede op i 2008
Udvikler 280 North Inc.
Type system dynamisk , svag , and
Blev påvirket Objective-C , JavaScript
Licens LGPL
Internet side cappuccino.org

Objective-J  er et programmeringssprog udviklet som en del af Cappuccino  , en webapplikationsramme. Dens syntaks er næsten identisk med den for Objective-C . Objective-J er for JavaScript , hvad Objective-C er for C-programmeringssproget: det er et strengt, men kompakt supersæt. Objective-J tilføjer traditionel arv og Smalltalk/Objective-C-stil dynamisk afsendelse til JavaScript. Pure Javascript har allerede begrebet objektorientering og arv som et prototypesprog, men Objective-J tilføjer muligheden for at bruge klassebaseret programmering til JavaScript.

Programmer skrevet i Objective-J kræver forbehandling, før de kan udføres af den virtuelle JavaScript-maskine i en webbrowser. Dette trin kan finde sted under kørsel i en webbrowser ved hjælp af en compiler, der oversætter Objective-J-programmer til ren JavaScript-kode. Objective-J-kompileren er skrevet i JavaScript, så implementering af Objective-J-programmer kræver ikke nogen speciel browsertilføjelse.

Ansøgning

Den første fuldskala brug af Objective-J er forbundet med oprettelsen af ​​webapplikationen 280Slides baseret på Cappuccino-rammeværket. Selvom Objective-J kan bruges (og udvikles) uafhængigt af Cappuccino, blev Objective-J primært skabt til at understøtte Cappuccino-baseret webudvikling.

Syntaks

Objective-J er et supersæt af JavaScript, hvilket betyder, at enhver gyldig JavaScript-kode også er gyldig Objective-J-kode. Følgende eksempel illustrerer en Objective-J definition af en klasse kaldet Adresse. Denne klasse udvider CPObject-rodklassen, som spiller en rolle svarende til NSObjects i Objective-C. Med undtagelse af navnet på rodobjektet er denne kode også et eksempel på en klassedefinition i Objective-C.

@implementation adresse : CPObject { CPString navn ; CPString by ; } - ( id ) initWithName: ( CPString ) aName by: ( CPString ) aCity { self = [ super init ]; navn = et Navn ; by = aCity ; returnere selv ; } - ( void ) setName: ( CPString ) aName { name = aName ; } - ( CPString ) name { return name ; } + ( id ) newAddressWithName: ( CPString ) aName by: ( CPString ) aCity { return [[ self alloc ] initWithName : aname city : aCity ]; } @ende

Som med Objective-C starter definitioner af klassemetoder og instansmetoder med henholdsvis '+' (plus) og '-' (minus).

Hukommelseshåndtering

I modsætning til Objective-C behøver objekter i Objective-J ikke at blive frigivet, da de automatisk frigives af JavaScript-skraldsamleren.

Noter

Se også

Links

  • Læringsmål-J (link utilgængeligt) . Cappuccino Web Framework. Arkiveret fra originalen den 27. marts 2012.