Documentazione di Gambas
Application Repository
Come...
Componenti
Da fare
Documentazione Sviluppatori
Documenti
Indice del linguaggio
LEGGIMI
Lessico
Licenza dello Wiki
Messaggi di errore
Panoramica del linguaggio
Array nativi
Assegnazione
Classi contenitore native
Costanti
Costanti predefinite
Dichiarazione di Array (o Matrice)
Dichiarazione di enumerazione
Dichiarazione di metodi
Dichiarazione di struttura
Dichiarazione di una proprietà
Dichiarazione di variabili locali
Dichiarazioni di costanti
Dichiarazioni di variabili
Espressioni
Eventi dichiarazioni
Eventi gestione
Eventi globali gestione
Formati definiti dall'utente
Funzioni aritmetiche
Funzioni di conversione
Funzioni di formattazione
Funzioni di localizzazione e traduzione
Funzioni di manipolazione dei bits
Funzioni di Stream e Input/Output
Funzioni di test sui caratteri
Funzioni intrinsiche
Funzioni logaritmi ed esponenziali
Funzioni numeriche casuali
Funzioni stringa
Funzioni su file e directory
Funzioni sui tipi di dati
Funzioni temporali
Funzioni trigonometriche
Funzioni varie
Gestione degli errori
Gestione dei Processi
Gestione delle classi e degli oggetti
Gestione delle funzioni esterne
Il modello a oggetti di Gambas
Loop degli eventi
Metodi di comparazione
Metodi speciali
Metodo Call
Numeri complessi
Numeri Interi
Numeri in virgola mobile
Operatori aritmetici
Operatori di assegnamento
Operatori logici
Operatori ordine di valutazione
Operatori stringa
Percorsi di File e Directory
Rappresentazione binaria dei dati
Sintassi della modalità file
Strutture di controllo e funzioni
Strutture di controllo sui cicli
Strutture di controllo varie
Tipi di dati
Uso di parole chiave riservate come identificatori
Registrazione
Ultime modifiche
Wiki Manual

Dichiarazione di una proprietà

PROPERTY [ READ ] Identifier AS Datatype

Dichiara una proprietà di una classe.

Se viene specificata la parola chiave READ, la proprietà sarà di sola lettura.

Una volta dichiarata la proprietà, occorre implementarla: è necessario scrivere una funzione per leggere la proprietà e, se non è di sola lettura, una funzione per scrivere nella proprietà.

Il nome della funzione di lettura è il nome della proprietà seguito da un carattere di sottolineatura (trattino basso) e la parola Read. Questa funzione non accetta argomenti e deve restituire dei dati il ​​cui tipo è uguale al tipo dei dati della proprietà.

Il nome della funzione di scrittura è il nome della proprietà seguito da un carattere di sottolineatura e dalla parola Write. Questa funzione è una procedura che non restituisce nulla. Richiede solo un argomento che ha lo stesso tipo del tipo di dati della proprietà.

Esempio

PROPERTY Enabled AS Boolean
PROPERTY READ Handle AS Integer
...

PRIVATE $bEnabled AS Boolean
PRIVATE $iHandle AS Integer

'  Implementa la proprietà Enabled

FUNCTION Enabled_Read() AS Boolean

  RETURN $bEnabled

END

SUB Enabled_Write(bEnabled AS Boolean)

  $bEnabled = bEnabled
  UpdateEverything

END

' Implementa la proprietà Handle

FUNCTION Handle_Read() AS Integer

  RETURN $iHandle

END

Sinonimo di Propietà

PROPERTY [ READ ] Identifier [ , Synonymous1 [ , Synonymous2 ... ] ] AS Datatype

Dal 3.1

Usando la seconda sintassi è possibile dichiarare fino a un massimo di tre sinonimi per la dichiarazione della proprietà.

Property shortcut

PROPERTY [ READ ] Identifier AS Datatype USE Variable

Dal 3.14

Questa sintassi dichiara una variabile privata globale Variable che verrà utilizzata per l'implementazione della proprietà Identifier.

Property Name As String Use $sName
è un equivalente esatto di:
Property Name As String
Private $sName As String

Private Sub Name_Read() As String
  Return $sName
End

Private Sub Name_Write(Value As String)
  $sName = Value
End

Se necessario, è possibile riscrivere Read o Write o entrambi i metodi di proprietà predefiniti:

Property Name As String Use $sName

Private Sub Name_Write(Value As String)

  If Not Value Then Error.Raise("Incorrect name")
  $sName = Value

End

Vedi anche