Istanziare un oggetto mediante la Classe "Object"

Da Gambas-it.org - Wikipedia.
Versione del 4 apr 2014 alle 03:10 di Vuott (Discussione | contributi) (Creata pagina con 'Un oggetto |1| può essere creato e caratterizzato nelle sue proprietà anche mediante i metodi statici della Classe ''[http://gambaswiki.org/wiki/comp/gb/object?l=i...')

(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)

Un oggetto |1| può essere creato e caratterizzato nelle sue proprietà anche mediante i metodi statici della Classe Object.


Creare un Oggetto di una Classe

Analogamente all'operatore New per generare un oggetto di una Classe con Object si utilizzerà il metodo .New() secondo la sintassi:

variabile_oggetto = Object.New("Nome_della_Classe" As String, ["Genitore" As String] As Object

Si dovrà comunque nelle consuete modalità dichiarare la variabile di riferimento dell'Oggetto da creare.


Assegnare un Oggetto ad un Gruppo

Per consentire la gestione degli eventi tipici della Classe di appartenenza dell'Oggetto, bisognerà attribuire all'Oggetto medesimo un Gruppo. Con la Classe Object si potrà utilizzare il metodo .Attach() secondo la seguente sintassi:

Object.Attach(Variabile_dell'Oggetto As Object, Genitore As Object, "Nome_del_Gruppo" As String )


Impostare una proprietà dell'Oggetto

Dopo aver creato l'oggetto, si potranno assegnare valori alle sue proprietà, previste ovviamente dalla sua Classe di appartenenza, mediante il metodo .SetProperty() secondo la sintassi:

 Object.SetProperty(Variabile_dell'Oggetto_creato As Object, "Nome_della_Proprietà" As String, "Valore_da_assegare" As Variant)

Da sottolineare che l'assegnazione del valore va effettuata con la medesima modalità prevista normalmente dalla sua proprietà.


Ottenere il valore di una proprietà dell'Oggetto

Per ottenenere il valore precedentemente assegnato di una proprietà dell'Oggetto, si utilizzerà il metodo .GetProperty() secondo la sintassi:

Object.GetProperty(Variabile_dell'Oggetto_creato As Object, "Nome_della_Proprietà" As String ) As Variant


Esempio pratico

Mostriamo un semplice esempio, nel quale verrà creato un oggetto appartenente alla Classe Label. Si procederà, quindi, ad attribuire detto Oggetto ad un Gruppo, ad assegnare un valore ad alcune sue proprietà, e successivamente a ricavare il valore di una proprietà:

Private lb As Label


Public Sub Form_Open()

' Viene creata una "Label" il cui Genitore è il Form principale:
  lb = Object.New("Label", [Me])

' Si attribuisce un "Gruppo" all'Oggetto per la gestione dei suoi Eventi:
  Object.Attach(lb, Me, "nome_gruppo")

' Si assegnano i valori ad alcune proprietà dell'oggetto "Label" creato:
  Object.SetProperty(lb, "X", 100)
  Object.SetProperty(lb, "Y", 200)
  Object.SetProperty(lb, "W", 100)
  Object.SetProperty(lb, "H", 50)
  Object.SetProperty(lb, "BackGround", Color.Red)

End


Public Sub nome_gruppo_Enter()

 Dim lung as Integer

' Si ottiene il valore della proprietà "Width" dell'Oggetto:
  lung = Object.GetProperty(lb, "W")

  Print lung

End


Note

[1] Un Oggetto in Gambas è una struttura di dati che fornisce proprietà, variabili, metodi ed eventi.