Pascal/I modificatori public, private e protected: differenze tra le versioni

Wikibooks, manuali e libri di testo liberi.
Contenuto cancellato Contenuto aggiunto
Riga 4: Riga 4:


==I modificatori public e private==
==I modificatori public e private==
In una classe possiamo decidere se i campi e i metodi sono accessibili dall'esterno...('''work in progress: per favore, [[Utente:Otrebla86|Otrebla86]] si sta occupando della pagina: non modificarla!''')
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 <code>public</code> 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 <code>private</code>, possiamo utilizzare lo stesso solamente nell'oggetto in cui è stato dichiarato.

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>private</code>.

Un esempio:

<source lang=pascal>
TYPE MyObject = OBJECT
PUBLIC:
{ }
{campi e modificatori public }
{ }
PRIVATE:
{ }
{campi e modificatori private}
{ }
END;
</source>

==Il modificatore protected==


...('''work in progress: per favore, [[Utente:Otrebla86|Otrebla86]] si sta occupando della pagina: non modificarla!''')

Versione delle 01:47, 10 giu 2009

Indice del libro

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 private.

Un esempio:

TYPE MyObject = OBJECT
                   PUBLIC:
                     {                            }
                     {campi e modificatori public }
                     {                            }
                   PRIVATE: 
                     {                            }
                     {campi e modificatori private}
                     {                            }
                  END;

Il modificatore protected

...(work in progress: per favore, Otrebla86 si sta occupando della pagina: non modificarla!)