Differenze tra le versioni di "Metodi New() e Free() degli oggetti"

Da Gambas-it.org - Wikipedia.
Riga 31: Riga 31:
 
[1] Riportiamo in questa pagina in modo più organico semplicemente diversi interventi e messaggi scritti su quest'argomento dall'utente ''md9327'' del forum ''Gambas-it.org'' .
 
[1] Riportiamo in questa pagina in modo più organico semplicemente diversi interventi e messaggi scritti su quest'argomento dall'utente ''md9327'' del forum ''Gambas-it.org'' .
  
[2] Sull'argomento vedere anche e soprattutto la pagina della WIKI: [[Metodi_nascosti|Metodi nascosti]].
+
[2] Sull'argomento vedere anche e soprattutto la pagina, scritta sempre da ''md9327'', della WIKI: [[Metodi_nascosti|Metodi nascosti]].

Versione delle 06:45, 23 mag 2013

Ogni oggetto ha alcuni metodi che possono essere utilizzati tranquillamente, e che corrispondono a precise fasi della vita dell'oggetto. |1| |2|

Quelli più importanti, sono:

Public Sub _New()

e

Public Sub _Free()

rispettivamente:

  • _New(): creazione dell'oggetto;
  • _Free(): distruzione dell'oggetto;
  • _New() può essere usato per passare dei parametri all'oggetto, proprio nella fase di creazione (non di apertura), e può essere utilizzato anche per creare oggetti all'interno di una Form.
  • _Free() viene chiamato giusto nella fase finale di eliminazione dell'oggetto dalla memoria. Può essere utilizzato, ad esempio, per terminare un timer (se si verifica un errore), oppure per chiudere un'attività, a prescindere dal resto.

Nel primo metodo, si possono quindi definire e impostare i valori base e le proprietà dell'oggetto, e questo anche se è un'oggetto grafico (es. una Form). La seconda classe è utilizzabile per pulire determinate situazioni (es. una connessione), che magari non sono state completate correttamente a causa di un'errore nella classe.

Queste due funzioni, dunque, sono sempre e comunque chiamate (indipendentemete se dichiarate esplicitamente nel codice o meno) da Gambas, quando l'oggetto viene creato e distrutto, anche se non sono presenti nel codice dell'oggetto, perchè esistono comunque nella classe base di tutti gli oggetti creati in gambas (Object).

Se si intende passare dati, è possibile scrivere la funzione in questo modo:

Public Sub _New(parm1 as String, parm2 AS String, ..., parm3 AS Integer)

End

all'interno possono essere assegnati i parametri ad altrettante proprietà dell'oggetto, o condizionarne il funzionamento (es. definire le dimensioni iniziali di una Form).



Note

[1] Riportiamo in questa pagina in modo più organico semplicemente diversi interventi e messaggi scritti su quest'argomento dall'utente md9327 del forum Gambas-it.org .

[2] Sull'argomento vedere anche e soprattutto la pagina, scritta sempre da md9327, della WIKI: Metodi nascosti.