Differenze tra le versioni di "Istanziare un oggetto mediante la Classe "Object""

Da Gambas-it.org - Wikipedia.
 
(6 versioni intermedie di uno stesso utente non sono mostrate)
Riga 1: Riga 1:
Un oggetto |[[#Note|1]]| può essere creato e caratterizzato nelle sue proprietà anche mediante i metodi statici della Classe ''[http://gambaswiki.org/wiki/comp/gb/object?l=it Object]''.
+
Un '''[[Oggetti, Classi e Moduli|Oggetto]]''' <SUP>&#091;[[#Note|nota 1]]&#093;</sup> può essere creato e caratterizzato nelle sue Proprietà anche mediante i metodi statici della Classe ''[http://gambaswiki.org/wiki/comp/gb/object?l=it Object]''.
  
  
 
===Creare un ''Oggetto'' di una Classe===
 
===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:
+
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
 
  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.
 
Si dovrà comunque nelle consuete modalità dichiarare la variabile di riferimento dell'Oggetto da creare.
Riga 30: Riga 30:
 
   
 
   
 
   
 
   
  '''Public''' Sub Form_Open()
+
  Public Sub Form_Open()
 
   
 
   
 
  <FONT color=gray>' ''Viene creata una "Label" il cui Genitore è il Form principale:''</font>
 
  <FONT color=gray>' ''Viene creata una "Label" il cui Genitore è il Form principale:''</font>
Riga 46: Riga 46:
 
   Object.SetProperty(lb, "BackGround", Color.Red)
 
   Object.SetProperty(lb, "BackGround", Color.Red)
 
   
 
   
  '''End'''
+
  End
 
   
 
   
 
   
 
   
  '''Public''' Sub NomeGruppo_Enter()
+
  Public Sub NomeGruppo_Enter()
 
   
 
   
  Dim lung as Integer
+
  Dim lung as Integer
 
   
 
   
 
  <FONT color=gray>' ''Si ottiene il valore della proprietà "Width" dell'Oggetto:''</font>
 
  <FONT color=gray>' ''Si ottiene il valore della proprietà "Width" dell'Oggetto:''</font>
Riga 58: Riga 58:
 
   Print lung
 
   Print lung
 
   
 
   
  '''End'''
+
  End
  
  
  
 
=Note=
 
=Note=
[1] Un ''Oggetto'' in Gambas è una struttura di dati che fornisce proprietà, variabili, metodi ed eventi.
+
[1] Un ''[[Oggetti, Classi e Moduli|Oggetto]]'' in Gambas è una struttura di dati che fornisce concretamente ''Proprietà'', ''Metodi'' ed ''Eventi'', previsti in astratto dalla "Classe" alla quale esso appartiene.

Versione attuale delle 16:40, 23 nov 2024

Un Oggetto [nota 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.
Se si intende, potendo, non assegnare l'Oggetto ad alcun Genitore, si ometterà il secondo parametro.


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 valorTabStrip1i 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.
' Da ricordare che il secondo parametro deve essere sempre "Me", anche se l'oggetto è posto all'interno di un Contenitore "figlio" del Form:
  Object.Attach(lb, Me, "NomeGruppo")

' 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 NomeGruppo_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 concretamente Proprietà, Metodi ed Eventi, previsti in astratto dalla "Classe" alla quale esso appartiene.