C++ inkapseling
inkapseling
De betekenis van Encapsulation is ervoor te zorgen dat "gevoelige" gegevens voor gebruikers verborgen blijven. Om dit te bereiken, moet u klassevariabelen/attributen declareren als private
(niet toegankelijk van buiten de klasse). Als u wilt dat anderen de waarde van een privélid lezen of wijzigen, kunt u openbare get- en
set - methoden opgeven.
Toegang tot privéleden
Gebruik de openbare "get"- en "set"-methoden om toegang te krijgen tot een privékenmerk:
Voorbeeld
#include <iostream>
using namespace std;
class Employee {
private:
// Private attribute
int salary;
public:
// Setter
void setSalary(int s) {
salary = s;
}
// Getter
int getSalary() {
return salary;
}
};
int
main() {
Employee myObj;
myObj.setSalary(50000);
cout << myObj.getSalary();
return 0;
}
Voorbeeld uitgelegd
Het salary
kenmerk is private
, die beperkte toegang hebben.
De openbare setSalary()
methode neemt een parameter ( s
) en wijst deze toe aan het
salary
attribuut (salaris = s).
De public getSalary()
methode retourneert de waarde van het private salary
attribuut.
Binnen main()
maken we een object van de Employee
klasse. Nu kunnen we de
setSalary()
methode gebruiken om de waarde van het private attribuut in te stellen op 50000
. Vervolgens roepen we de
getSalary()
methode op het object aan om de waarde te retourneren.
Waarom inkapseling?
- Het wordt als een goede gewoonte beschouwd om uw klasseattributen als privé te declareren (zo vaak als u kunt). Inkapseling zorgt voor een betere controle over uw gegevens, omdat u (of anderen) een deel van de code kunt wijzigen zonder andere delen te beïnvloeden
- Verhoogde beveiliging van gegevens