Pascal/Override, metodi virtuali e classi astratte: differenze tra le versioni
< Pascal
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
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.