|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Junior Member
Iscritto dal: Oct 2014
Messaggi: 29
|
java- incapsulamento
Buon pomeriggio !
Avrei bisogno di qualche delucidazione sul concetto di incapsulamento di java ; non mi è chiaro cosa si intende. Ho capito solo che è simile al significato di scatola nera (black box) per cui senza sapere come è fatto dentro un componente lo si usa ,ma dove viene applicato in java tale concetto? Grazie dell'aiuto! |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Jan 2014
Messaggi: 852
|
Detto in maniera molto semplice, si tratta di rendere i campi della classe privati e realizzare dei metodi pubblici per leggere e scrivere i valori di questi campi.
Questa modalità di accedere ai campi consente di ottenere i seguenti vantaggi: 1) un campo può essere read only o write only, omettendo la definizione del rispettivo metodo; 2) è possibile definire dei vincoli sui valori del campo, ad esempio il metodo "persona.impostaEtà(int età)" potrebbe generare un'eccezione se viene richiamato con un età negativa, cosa che sarebbe impossibile realizzare accedendo direttamente ad un campo pubblico (es. persona.età = -1); 3) è possibile restituire i dati in maniera diversa da come vengono memorizzati all'interno della classe, per esempio potremmo avere un metodo "quadrato.getArea()" che restituisce "lato*lato", facendo a meno di dover definire e mantenere aggiornato un campo "area"; 4) è possibile aggiornare automaticamente altri attributi quando viene impostato un valore, per esempio il metodo "persona.setPadre(Persona padre)" potrebbe eseguire Codice:
this.padre = padre; if (padre.getFiglio() != this) { padre.setFiglio(this); } |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 15:49.