Modificatori di accesso
Per impostazione predefinita, tutti i
campi e i
metodi di una classe in Java sono
privati. Ciò significa che nessuno può accedervi, il che significa che al di fuori degli oggetti di questa classe, nessun metodo può utilizzare i campi e i metodi degli oggetti di questa classe.
Campi e metodi possono essere resi pubblici con il
modificatore di accesso public
. C'è anche un modificatore
private
che rende privato il campo. È facoltativo in quanto tutti i campi e i metodi sono privati per impostazione predefinita. Ecco un esempio di utilizzo dei modificatori
public
e
private
.
libro di classe
{
public Stringname;
String nomeautore;
private int ageRequirement;
Stringtext;
public int pageCount;
int getTextLength()
{
restituisce la lunghezza del testo();
}
public int getMediaLetterCount()
{
return getTextLength() / pageCount;
}
private int getDifficuiltyLevel()
{
return 5 * ageRequirement * text.Length();
}
}
In questa versione della classe Book
, i campi name
e pageCount
sono resi pubblici per la lettura e la modifica in altri oggetti. Il metodo getAverageLetterCount()
è anche disponibile per essere chiamato da oggetti di altre classi. Tutti gli altri campi e metodi rimangono privati e sono disponibili solo nei metodi di questa classe. Nel metodo pubblico getAverageLetterCount()
possiamo chiamare il metodo privato getTextLength()
perché getAverageLetterCount()
appartiene alla classe stessa. Ma non funzionerà da un metodo di un'altra classe.
Ma perché allora rendere privati i campi? Nel codice Java, vedrai principalmente solo campi privati. Il fatto è che se l'accesso ai campi privati viene effettuato tramite i metodi pubblici dell'oggetto, allora con qualsiasi accesso di questo tipo ai campi privati sarà possibile eseguire ulteriori azioni e controlli. Maggiori informazioni su questo saranno nella lezione sull'incapsulamento.