Introduzione all'incapsulamento in C++

Introduzione all'incapsulamento in C++

L'articolo seguente fornisce una struttura per l'incapsulamento in C++. Per incapsulamento si intende il processo di avvolgimento dei dati e delle funzioni in un'unica capsula. Protegge anche i dati di altre classi limitando l'accesso. Fondamentalmente, nasconde i dati. Se prendiamo un esempio di college nel mondo reale, abbiamo diversi dipartimenti come Fisica, Chimica e Biologia, ecc. Potrebbe verificarsi una situazione in cui il capo del dipartimento di fisica ha bisogno di alcune informazioni dal dipartimento di biologia; non può accedere direttamente ai dati da quel dipartimento. Quindi prima dovrebbe contattare il capo del dipartimento di biologia, quindi chiedergli di fornire i dati. Ecco come funziona l'incapsulamento.

Come utilizzare l'incapsulamento in C++?

Per raggiungere questo obiettivo, dobbiamo seguire i passaggi seguenti:

Inizia il tuo corso di sviluppo software libero

Sviluppo Web, linguaggi di programmazione, test software e altro

  • Per prima cosa, dobbiamo rendere privati ​​tutti i membri dei dati.
  • Quindi devono essere create funzioni pubbliche getter e setter per ogni membro dati in modo che la funzione get ottenga il valore del membro dati e la funzione set imposta il valore del membro dati.

L'incapsulamento e l'occultamento 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. Tuttavia, a seconda delle necessità, possiamo modificare i livelli di accesso.

I 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 di classi derivate.

Il miglior uso dell'incapsulamento viene fatto solo quando utilizziamo privato o protetto. Quando si utilizza public, dobbiamo assicurarci di conoscere la sua corretta esigenza nel codice.

Per spiegare questo, daremo un'occhiata alla classe seguente.

Qui fisica, chimica e biologia sono del tipo double e sono variabili private. GetTotalMarks ( ) è un metodo pubblico utilizzato per recuperare i punteggi totali di tutti e tre i soggetti. Non possiamo accedere a ogni materia in un'altra classe a causa del suo livello di protezione. Ma possiamo accedere al metodo e può essere utilizzato per recuperare i voti totali passando i voti dei singoli soggetti. Possiamo impostare i voti 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 dobbiamo calcolare i voti totali dello studente calcolando la somma in tre materie, ovvero Fisica, Chimica e Biologia. Ma la condizione è tale che un'altra classe.

2. Innanzitutto, includi iostream per la funzionalità di input e output.

3. Usa lo spazio dei nomi std.

4. Scrivete una classe che contenga 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 Studente. Ma possiamo accedervi localmente e modificare il valore se necessario. Per modificare il valore, possiamo scrivere una funzione setter pubblica e accedervi in ​​un'altra classe.

6. Scrivete una funzione chiamata SetMarks, che sarà usata per impostare i valori delle variabili private. Dal momento che non possiamo accedere alle variabili private fisica, chimica e biologia al di fuori della classe dello studente, abbiamo bisogno di questa funzione per impostare questi valori dalla classe esterna. Questo metodo sarà pubblico poiché dobbiamo accedervi al di fuori della classe. Abbiamo bisogno di tre parametri per ottenere i valori per ogni soggetto. All'interno della funzione, imposteremo il valore delle variabili private.

7. Abbiamo bisogno di un altro metodo per ottenere i voti totali di tutte e tre le materie sommando i voti. Anche questo metodo è 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. All'interno della funzione principale, per prima cosa, accederemo alla classe studente e creeremo un oggetto della classe.

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

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

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

Risultato:240

13. Ora analizzeremo come abbiamo ottenuto questo output. Poiché non potevamo accedere alle variabili private, abbiamo scritto una funzione Setter che prende valori da altre classi e modifica le variabili. La funzione getter recupera le variabili, le aggiunge e invia i voti totali dello studente. Quando passiamo tre diversi valori alla funzione setter, possiamo vedere che anche i punteggi totali che otteniamo varieranno di conseguenza.

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

Conclusione

In questo articolo, abbiamo appreso come ottenere l'incapsulamento in C++. In questo modo, possiamo ottenere i seguenti vantaggi. 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 modificata senza modificare l'intero codice utilizzando modificatori di accesso.