Estratto del documento

Classi interne in Java

Sintassi: public class ClEsterna { ... class ClInterna { ... } }

Classi interne (inner classes)

Solitamente una classe interna descrive un tipo logicamente correlato a quello della classe esterna. Le classi interne permettono una stretta relazione tra le due classi, consentendo l'accesso a tutti i metodi e campi di esemplare e statici dell'altra classe, anche se privati.

Vantaggio

Le due classi, interna ed esterna, hanno accesso a tutti i metodi e campi, anche se privati, dell'altra classe.

Limitazioni

Un oggetto di ClInterna è sempre associato a un oggetto di ClEsterna. Si possono creare oggetti di tipo ClInterna solo dentro metodi non statici di ClEsterna. Inoltre, la classe interna può essere resa inaccessibile al codice scritto in altre classi.

Ad esempio, la classe Pair, utilizzata dal dizionario, non viene mai usata al di fuori del dizionario stesso. I metodi dell'interfaccia Dictionary non ricevono parametri espliciti di tipo Pair e non restituiscono riferimenti a Pair.

Incapsulamento

Per il principio dell'incapsulamento, sarebbe preferibile che questa classe e i suoi dettagli non fossero visibili all'esterno della catena. In questo modo, una modifica della struttura interna del dizionario e/o della classe Pair non avrebbe ripercussioni sul codice scritto da chi usa il dizionario.

Anteprima
Vedrai una selezione di 1 pagina su 1
Informatica I - le classi interne Pag. 1
1 su 1
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher enricopava di informazioni apprese con la frequenza delle lezioni di Informatica 1 e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Padova o del prof Avanzini Federico.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community