Pascal/I modificatori public, private e protected: differenze tra le versioni
→Il modificatore protected: cambio avanzamento a 100% |
|||
Riga 9: | Riga 9: | ||
In Turbo Pascal 7.0 se viene omessa la dichiarazione <code>public</code> o <code>private</code>, verrà assegnato, di default, il modificatore <code>public</code>. |
In Turbo Pascal 7.0 se viene omessa la dichiarazione <code>public</code> o <code>private</code>, verrà assegnato, di default, il modificatore <code>public</code>. |
||
La scelta di dichiarare <code>public</code> o <code>private</code> un campo o un metodo sta tutto nella scelta del programmatore per motivi di convenienza. Solitamente, sono i campi di un oggetto ad essere dichiarati <code>private</code>, mentre i metodi, che agiscono il più delle volte sui campi, vengono dichiarati <code> |
La scelta di dichiarare <code>public</code> o <code>private</code> un campo o un metodo sta tutto nella scelta del programmatore per motivi di convenienza. Solitamente, sono i campi di un oggetto ad essere dichiarati <code>private</code>, mentre i metodi, che agiscono il più delle volte sui campi, vengono dichiarati <code>public</code>. |
||
Un esempio: |
Un esempio: |
Versione delle 15:26, 6 giu 2012
Nella programmazione orientata agli oggetti i campi e i metodi possono essere dichiarati public e private. Esistono anche altri modificatori di campi e metodi, tipici di ogni linguaggio; il Turbo Pascal prevede anche il modificatore protected.
I modificatori public e private
In una classe possiamo decidere se i campi e i metodi sono accessibili dall'esterno. Per esterno si intende tutto il codice che non fa parte di procedure e funzioni di un determinato oggetto (o meglio, classe).
Dichiarando public
un campo (o un metodo) di un oggetto, anche altri oggetti potranno utilizzare il campo (o il metodo) dichiarato public. Al contrario, se dichiaro un campo o un metodo come private
, possiamo utilizzare lo stesso solamente nell'oggetto in cui è stato dichiarato.
In Turbo Pascal 7.0 se viene omessa la dichiarazione public
o private
, verrà assegnato, di default, il modificatore public
.
La scelta di dichiarare public
o private
un campo o un metodo sta tutto nella scelta del programmatore per motivi di convenienza. Solitamente, sono i campi di un oggetto ad essere dichiarati private
, mentre i metodi, che agiscono il più delle volte sui campi, vengono dichiarati public
.
Un esempio:
TYPE MyObject = OBJECT
PUBLIC:
{ }
{campi e modificatori public }
{ }
PRIVATE:
{ }
{campi e modificatori private}
{ }
END;
Il modificatore protected
Il modificatore protected
è un modificatore speciale.
Possiamo definirlo come una via di mezzo tra il modificatore public
e il modificatore private
, infatti dichiarando un campo o un metodo come protected
, lo stesso sarà utilizzabile solamente dall'oggetto in cui è stato dichiarato e dai suoi dicendenti, ovvero da tutti gli altri oggetti che ereditano.
La sintassi è analoga a quanto abbiamo visto con private
e protected
.