Incapsulamento nel Java
⚡ Riepilogo intelligente
Incapsulamento nel Java È un meccanismo che raggruppa variabili e metodi in un'unica unità, nascondendo al contempo i dettagli interni. Protegge i dati di un oggetto utilizzando campi privati e un accesso controllato tramite metodi getter e setter pubblici.

In cosa consiste l'incapsulamento Java?
Incapsulamento nel Java è un meccanismo per racchiudere variabili (dati) e metodi (codice) insieme come una singola unità. È il processo di nascondere i dettagli informativi e proteggere i dati e il comportamento dell'oggetto. È uno dei quattro importanti concetti OOP. La classe encapsulate è facile da testare, quindi è anche migliore per i test unitari.
Clicchi Qui. se il video non è accessibile
Impara l'incapsulamento in Java con l'esempio
Per comprendere in dettaglio cos'è l'incapsulamento, si consideri la seguente classe di conto bancario con i metodi di deposito e di visualizzazione del saldo
class Account { private int account_number; private int account_balance; public void show Data() { // code to show data } public void deposit(int a) { if (a < 0) { // show error } else account_balance = account_balance + a; } }
Supponiamo che un hacker sia riuscito ad accedere al codice del tuo conto bancario. Ora, cerca di depositare l'importo -100 sul tuo conto in due modi. Vediamo il suo primo metodo o approccio.
Approccio 1: Tenta di depositare un importo non valido (diciamo -100) sul tuo conto bancario manipolando il codice.
Ora, la domanda è: E 'possibile? Indaghiamo. Di solito, una variabile in una classe è impostata come "privata" come mostrato di seguito. È possibile accedervi solo con i metodi definiti nella classe. Nessun'altra classe o oggetto può accedervi.
Se un membro dati è privato, significa che è possibile accedervi solo all'interno della stessa classe. Nessuna classe esterna può accedere al membro dati privato o alla variabile di un'altra classe. Quindi nel nostro caso l'hacker non può depositare l'importo -100 sul tuo account.
Approccio 2: Il primo tentativo dell'hacker di depositare l'importo non è andato a buon fine. Successivamente, ha provato a depositare un importo di -100 utilizzando il metodo "deposito".
Ma l'implementazione del metodo ha un controllo per i valori negativi. Quindi anche il secondo approccio fallisce.
Pertanto, non esponi mai i tuoi dati a una parte esterna. Ciò rende la tua applicazione sicura.
L'intero codice può essere pensato come una capsula, e si può comunicare solo attraverso i messaggi. Da qui il nome incapsulamento.
Dati nascosti Java
Dati nascosti Java nasconde le variabili di una classe ad altre classi. È possibile accedervi solo tramite il metodo della classe corrente. Nasconde i dettagli di implementazione agli utenti. Ma più che nascondere i dati, è pensato per una migliore gestione o raggruppamentoping di dati correlati. Per ottenere un grado minore di incapsulamento in Java, puoi usare modificatori come "protected" o "public". Con l'incapsulamento, gli sviluppatori possono modificare facilmente una parte del codice senza influenzare le altre.
Entrano Getter e Setter Java
Entrano Getter e Setter Java sono due metodi convenzionali utilizzati per recuperare e aggiornare i valori di una variabile. Vengono utilizzati principalmente per creare, modificare, eliminare e visualizzare i valori delle variabili. Il metodo setter viene utilizzato per aggiornare i valori e il metodo getter viene utilizzato per leggere o recuperare i valori. Sono anche conosciuti come accessori e mutatori.
Il codice seguente è un esempio dei metodi getter e setter:
class Account{ private int account_number; private int account_balance; // getter method public int getBalance() { return this.account_balance; } // setter method public void setNumber(int num) { this.account_number = num; } }
Nell'esempio precedente, il metodo getBalance() è il metodo getter che legge il valore della variabile account_balance e il metodo setNumber() è il metodo setter che imposta o aggiorna il valore per la variabile account_number.
Abstraczione vs. incapsulamento
Spesso l'incapsulamento viene frainteso Abstracproduzione. Studiamo-
- L'incapsulamento riguarda più il "come" ottenere una funzionalità
- AbstracLa lezione riguarda più "cosa" una classe può fare.
Un semplice esempio per comprendere questa differenza è un telefono cellulare. Dove la complessa logica del circuito stampato è incapsulata in un touchscreen e l'interfaccia è fornita per assorbiretract lo spiega.
Vantaggi dell'incapsulamento in Java
- L'incapsulamento vincola i dati con le relative funzionalità. Qui le funzionalità significano “metodi” e i dati significano “variabili”
- Quindi manteniamo variabili e metodi in un unico posto. Quel posto è “di classe”. La classe è la base per l'incapsulamento.
- Con Java Incapsulamento: puoi nascondere (limitare l'accesso) ai dati critici nel tuo codice, migliorando la sicurezza
- Come abbiamo discusso in precedenza, se un membro dati è dichiarato "privato", allora è possibile accedervi solo all'interno della stessa classe. Nessuna classe esterna può accedere al membro dati (variabile) di un'altra classe.
- Tuttavia, se è necessario accedere a queste variabili, è necessario utilizzare “getter” e “setter” pubblici metodi.






