Abilitare JavaScript per vedere questo sito.

Nel sorgente X/script è possibile definire un proprio tipo di dati, formalmente noto come oggetto.

Un oggetto può contenere attributi (qualsiasi tipo di variabile, compresi i dati definiti dall'utente) e metodi (dichiarati come funzioni all'interno dell'oggetto stesso).

Prototipo di oggetto

Gli oggetti non possono essere prototipati come funzioni: devono essere dichiarati prima di poter essere utilizzati.

Dichiarazione dell'oggetto

Un oggetto viene dichiarato utilizzando la parola chiave object.

OBJECT <objname>

...

[<attributes>]

...

[<methods>]

END[OBJECT]

Dove:

<objname> è il nome dell'oggetto, quindi viene utilizzato come tipo di dati utente.

<attributes> dichiarazioni di attributi.

<methods> dichiarazioni dei metodi.

Nota: gli attributi e i metodi devono essere dichiarati prima dell'uso di qualsiasi metodo inline, altrimenti l'ordine di dichiarazione non è importante.

Dichiarazione degli attributi

Le dichiarazioni di attributo sono come le dichiarazioni di variabili, ma hanno un ambito solo nell'oggetto stesso. La sintassi generale è:

[INTERNAL] <type> <variable> [, < variable> ...]

La parola chiave speciale internal significa, se usata, che la variabile è di sola lettura e non può essere scritta da nessuno.

Dichiarazione dei metodi

La dichiarazione dei metodi è molto simile a quella delle funzioni (con qualche differenza di sintassi) e può essere di due tipi: prototipo e dichiarazione in linea.

Per la prototipazione si utilizza la seguente sintassi (per maggiori dettagli si veda la voce prototipo di funzione ):

CODE <name> ([<argument>, ... ]) [:<result>]

CODE ASSIGNABLE <name> ([<argument>, ...]): <type>

Quando si dichiara un metodo in linea, utilizzare la seguente sintassi (vedere la dichiarazione di funzioni per maggiori dettagli):

INLINE <name> ([<argument>, ... ]) [:<result>]

...

[RETURN <value>]

END[INLINE]

e quando si dichiarano metodi assegnabili in linea:

INLINE ASSIGNABLE <name> ([<argument>, ... ]) [:<type>]

...

END[INLINE]

Prototype implementation

Qualsiasi metodo prototipato in un oggetto deve essere dichiarato al di fuori della dichiarazione dell'oggetto, con la seguente sintassi:

CODE <objname>.<name> ([<argument>, ... ]) [:<result>]

...

[RETURN <value>]

END[CODE]

e con la seguente sintassi per i metodi assegnabili:

CODE ASSIGNABLE <objname>.<name> ([<argument>, ... ]) [:<type>]

...

END[CODE]

Nota: i metodi inline non hanno un'implementazione, poiché è già stata fatta nella dichiarazione dell'oggetto.

Internal methods declaration

As internal function declaration, you can prototype internal methods, with the following syntax:

INTERNAL <id> <name> ([<argument>, ... ]) [:<result>]

INTERNAL <id> ASSIGNABLE <name> ([<argument>, ...]): <type>

ATTENZIONE: non definite mai un metodo interno senza sapere bene cosa state facendo. Potreste causare seri danni e crash al sistema e perdere dati importanti. or files.

 

  

Keyboard Navigation

F7 for caret browsing
Hold ALT and press letter

This Info: ALT+q
Page Header: ALT+h
Topic Header: ALT+t
Topic Body: ALT+b
Contents: ALT+c
Search: ALT+s
Exit Menu/Up: ESC