06/11/07

Protected: questo sconosciuto.

In realtà dopo 5 anni di ingegneria informatica e dopo aver conseguito laurea triennale e specialistica entrambe con ottimi voti ed essendo inoltre appassionato di ingegneria del software, dovrebbe essere tutto tranne che sconosciuto.
E invece di imparare non si smette mai!

Infatti la mia convinzione era che la keyword protected indicasse che la visibilità di un metodo o di un membro fosse alla sola classe di appartenenza o ai tipi derivati dalla classe di appartenenza.
Bene, questo non è sempre vero.
In Java la keyword protected indica che la visibilità non è relativa solo alla classe o alle sottoclassi, ma anche all'interno del package (Controlling Access to Members of a Class).
Credendo di non aver capito niente ho controllato come si comporta il C#. Da ragione a me: la visibilità e solo per la classe e relative sottoclassi (Livelli di accessibilità).
Naturalmente anche il C++ si comporta come dovrebbe (Controlling Access to Class Members)

Ora però un grande dubbio mi attanaglia: come faccio in Java a rendere un metodo visibile solo alle sottoclassi?

Questo cambierà il mio modo di progettare codice in Java... e io che speravo di aver quasi imparato.

Nessun commento: