Pascal/Costruttori e distruttori: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Nessun oggetto della modifica
Riga 11:
 
<source lang=pascal>
USES crt;
TYPE HelloWorld= Object
PRIVATE
Line 31 ⟶ 32:
VAR CiaoMondo:HelloWorld;
BEGIN
CiaoMondo.Init(30,5),;
CiaoMondo.Stampa;
readln;
Line 40 ⟶ 41:
 
I costruttori in un oggetto non sono ovviamente obbligatori, ma se ne raccomanda l'uso.
 
 
==I distruttori==
Analogamente ai construttori, i distruttori fanno quel che necessita non appena l'oggetto viene distrutto, anche se, la funzione principale di un distruttore è quella di liberare la memoria e renderla disponibile ad altre parti del programma. La parola chiave del Pascal che denota un distruttore è <code>DESTRUCTOR</code>
 
Come esempio possiamo ancora considerare il precedente, definendo un distruttore che oltre a liberare le risorse e a cancellare l'istanza dell'oggetto, cancella la frase che era stata scritta nello schermo.
 
<source lang=pascal>
USES crt;
TYPE HelloWorld= Object
PRIVATE
riga,colonna:byte;
PUBLIC
Constructor Init(rig,col:byte);
Procedure Stampa;
Destructor Done;
End;
 
Constructor HelloWorld.Init;
BEGIN
riga:=rig;
colonna:=col;
END;
Procedure HelloWorld.Stampa
BEGIN
gotoxy(riga,colonna);
write('Hello, world!');
END;
Destructor HelloWorld.Done;
BEGIN
gotoxy(riga,colonna);
write(' ');
END;
VAR CiaoMondo:HelloWorld;
BEGIN
CiaoMondo.Init(30,5);
CiaoMondo.Stampa;
ReadLn; {Attende che premiamo INVIO}
CiaoMondo.Done; {Distruzione, lo schermo è tutto nero}
ReadLn;
END.
</source>
 
[[Categoria:Pascal]]