Pascal/Override, metodi virtuali e classi astratte: differenze tra le versioni

Wikibooks, manuali e libri di testo liberi.
Contenuto cancellato Contenuto aggiunto
Nuova pagina: {{Pascal}} Verranno ora introdotti alcuni concetti avanzati del paradigma OOP. ==Override== Nella programmazione orientata agli oggetti è possibile ridefinire un metodo che è stato ...
(Nessuna differenza)

Versione delle 19:32, 23 giu 2009

Indice del libro

Verranno ora introdotti alcuni concetti avanzati del paradigma OOP.

Override

Nella programmazione orientata agli oggetti è possibile ridefinire un metodo che è stato ereditato dall'oggetto padre. Il metodo ovviamente dovrà avere lo stesso nome e lo stesso numero e tipo di parametri.

Facciamo subito un esempio:

TYPE TA = Object
            Procedure StampaMsg;
         End; 
     TB = Object (A)
         End;
Procedure A.StampaMsg;
BEGIN
   writeln("Messaggio del metodo originale.");  
END; 
Procedure B.StampaMsg;                {Override}
BEGIN
   writeln("Questo invece è il messaggio del metodo ridefinito."); 
END;
VAR A:TA;
    B:TB; 
BEGIN
   A.StampaMsg;  {metodo originale}
   B.StampaMsg;  {metodo ridefinito} 
   readln;
END.