Introduzione all'incapsulamento in C ++

Incapsulamento indica il processo di raggruppamento dei dati e delle funzioni in una singola capsula. Protegge anche i dati di altre classi limitando l'accesso. Fondamentalmente nasconde i dati. Se prendiamo un esempio reale del college, abbiamo diversi dipartimenti come Fisica, Chimica e Biologia, ecc. Potrebbe sorgere una situazione in cui, il Capo del dipartimento di Fisica ha bisogno di alcune informazioni dal dipartimento di Biologia, non può accedere ai dati direttamente da quel reparto. Innanzitutto, dovrebbe contattare il capo del dipartimento di biologia, quindi chiedergli di fornire i dati. Ecco come funziona l'incapsulamento.

Come usare l'incapsulamento in C ++?

Per raggiungere questo obiettivo dobbiamo seguire i seguenti passaggi:

  1. Innanzitutto, dobbiamo rendere privati ​​tutti i membri dei dati.
  2. Quindi le funzioni di getter e setter pubbliche devono essere create per ciascun membro di dati in modo tale che, get function ottenga il valore di membro di dati e la funzione set imposta il valore di membro di dati.

L'incapsulamento e il nascondimento dei dati possono essere ottenuti in C ++, usando tipi definiti dall'utente chiamati Classi. Gli identificatori di accesso nelle classi possono essere privati, protetti o pubblici. Per impostazione predefinita, tutti gli elementi di una classe sono privati. A seconda delle necessità, possiamo modificare i livelli di accesso. Tre livelli di specificatori di accesso sono i seguenti:

  • Privato : i membri della stessa classe possono accedere ai dati.
  • Pubblico : tutte le classi possono accedere ai dati.
  • Protetto : l'accesso ai dati è consentito ai membri della stessa classe o classi derivate.

Il miglior uso dell'incapsulamento viene fatto solo quando utilizziamo privato o protetto. Quando si utilizza il pubblico, dobbiamo accertarci che ne conosciamo la necessità nel codice.

Per spiegare questo daremo uno sguardo alla classe sottostante.

Qui la fisica, la chimica e la biologia sono del tipo doppio e sono variabili private. GetTotalMarks () è un metodo pubblico utilizzato per recuperare i voti totali di tutti e tre i soggetti. Non possiamo accedere a ciascuna materia in un'altra classe a causa del suo livello di protezione. Ma possiamo accedere al metodo e possiamo usare per recuperare i voti totali passando singoli segni di soggetto. Possiamo impostare i segni di ogni soggetto usando il metodo setter, che vedremo nel prossimo esempio.

Esempio di incapsulamento in C ++ con passaggi

Di seguito sono riportate le istruzioni passo passo per implementare l'incapsulamento.

1) Consideriamo lo scenario in cui è necessario calcolare il punteggio totale dello studente calcolando la somma in tre materie: fisica, chimica e biologia. Ma la condizione è tale che un'altra classe

2) Innanzitutto, includere iostream per le funzionalità di input e output.

3) Utilizzare lo spazio dei nomi std

4) Scrivi una classe per contenere tutti i dati e le funzioni. Lascia che sia Studente.

5) Dichiarare le variabili private fisica, chimica e biologia. Questo dice che non possiamo accedere alle variabili al di fuori di questa classe di studenti. Ma possiamo accedervi localmente e modificare il valore se necessario. Per modificare il valore, possiamo scrivere una funzione di impostazione pubblica e accedervi in ​​un'altra classe.

6) Scrivi una funzione chiamata SetMarks, che verrà utilizzata per impostare i valori delle variabili private. Poiché non possiamo accedere alle variabili private fisica, chimica e biologia al di fuori della classe studentesca, abbiamo bisogno di questa funzione per impostare questi valori dalla classe esterna. Questo metodo sarà pubblico in quanto dobbiamo accedervi al di fuori della classe. Abbiamo bisogno di tre parametri per ottenere i valori per ogni argomento. All'interno della funzione, imposteremo il valore delle variabili private.

7) Abbiamo bisogno di un altro metodo per ottenere i voti totali da tutti e tre i soggetti aggiungendo i voti. Questo metodo è anche pubblico. Basta chiamare questo metodo fuori dalla classe e otterremo la somma dei voti delle tre materie.

8) Ora al di fuori di questa classe, scriveremo la funzione principale.

9) Prima all'interno della funzione principale, accederemo allo studente di classe e creeremo un oggetto della classe.

10) Nel passaggio successivo chiameremo la funzione per impostare i segni dei tre soggetti. Qui passeremo i segni come parametri alla funzione. Di seguito è riportato il codice per raggiungere questo obiettivo.

11) Successivamente, otterremo i voti totali e stamperemo il valore. E restituisce 0 alla fine.

12) Riesci a indovinare l'output del codice? Hai ragione. L'output è mostrato di seguito.

Uscita: 240

13) Ora analizzeremo come abbiamo ottenuto questo risultato. Poiché non siamo riusciti ad accedere alle variabili private, abbiamo scritto una funzione Setter che accetta valori da altre classi e modifica le variabili. La funzione Getter recupera le variabili, le aggiunge e invia i voti totali dello studente. Ogni volta che passiamo tre diversi valori alla funzione setter, possiamo vedere che anche i punteggi totali che otteniamo varieranno di conseguenza.

14) Da questo, possiamo dire che l'incapsulamento ci aiuta a proteggere alcuni dei dati necessari, anche le funzioni setter e getter sono usate per alterare i loro valori. Facendo questo. La protezione si ottiene anche senza ostacolare il nostro scopo.

Conclusione

In questo articolo, abbiamo imparato come è possibile ottenere l'incapsulamento in C ++. In questo modo possiamo ottenere i seguenti benefici.

  • Le classi dopo l'incapsulamento aumentano la leggibilità e riducono la complessità.
  • Aiuta a proteggere i dati.
  • La privacy dei dati nella classe può essere cambiata senza modificare l'intero codice usando i modificatori di accesso.

Articoli consigliati

Questa è una guida all'incapsulamento in C ++. Qui discutiamo come usare l'incapsulamento in C ++ insieme a Esempio di incapsulamento in C ++ con Passaggi. Puoi anche consultare i seguenti articoli per saperne di più -

  1. Algoritmo di crittografia
  2. Crittografia chiave simmetrica
  3. Che cos'è la crittografia?
  4. Introduzione all'incapsulamento in C
  5. Incapsulamento in JavaScript (Vantaggi)
  6. Modificatori di accesso in PHP

Categoria: