Differenze tra le versioni di "Istanziare un oggetto mediante la Classe "Object""
(8 versioni intermedie di uno stesso utente non sono mostrate) | |||
Riga 1: | Riga 1: | ||
− | Un | + | Un '''[[Oggetti, Classi e Moduli|Oggetto]]''' <SUP>[[[#Note|nota 1]]]</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 | + | 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 15: | Riga 15: | ||
===Impostare una proprietà dell'Oggetto=== | ===Impostare una proprietà dell'Oggetto=== | ||
− | Dopo aver creato l'oggetto, si potranno assegnare | + | 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) | 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à. | Da sottolineare che l'assegnazione del valore va effettuata con la medesima modalità prevista normalmente dalla sua proprietà. | ||
Riga 30: | Riga 30: | ||
− | + | 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> | ||
lb = Object.New("Label", [Me]) | lb = Object.New("Label", [Me]) | ||
− | <FONT color=gray>' ''Si attribuisce un "Gruppo" all'Oggetto per la gestione dei suoi Eventi:''</font> | + | <FONT color=gray>' ''Si attribuisce un "Gruppo" all'Oggetto per la gestione dei suoi Eventi.'' |
− | Object.Attach(lb, Me, " | + | ' ''Da ricordare che '''il secondo parametro deve essere sempre "Me"''', anche se l'oggetto è posto all'interno di un Contenitore "figlio" del Form:''</font> |
+ | Object.Attach(lb, <FONT Color=#B22222>Me</font>, "NomeGruppo") | ||
<FONT color=gray>' ''Si assegnano i valori ad alcune proprietà dell'oggetto "Label" creato:''</font> | <FONT color=gray>' ''Si assegnano i valori ad alcune proprietà dell'oggetto "Label" creato:''</font> | ||
Riga 45: | Riga 46: | ||
Object.SetProperty(lb, "BackGround", Color.Red) | Object.SetProperty(lb, "BackGround", Color.Red) | ||
− | + | End | |
− | + | Public Sub NomeGruppo_Enter() | |
− | + | 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 57: | Riga 58: | ||
Print lung | Print lung | ||
− | + | End | |
=Note= | =Note= | ||
− | [1] Un ''Oggetto'' in Gambas è una struttura di dati che fornisce | + | [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.
Indice
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.