Adgangsmodifikator-Nøgleord
Indkapsling opnås primært ved brug af adgangsmodifikatorer. Disse modifikatorer styrer, hvor meget adgang andre dele af programmet har til medlemmerne (både data og funktioner) i en klasse. De tre primære adgangsmodifikatorer er:
private
: kun tilgængelig inden for samme klasse og skjult for kode uden for klassen. Dette er standardadgangsniveauet for klassens medlemmer;protected
: tilgængelig inden for klassen og dens afledte klasser. De er mere tilgængelige endprivate
-medlemmer, men giver stadig et niveau af databeskyttelse;public
: tilgængelig fra enhver del af programmet. Selvompublic
-medlemmer ikke er indkapslede, er de nødvendige for at definere det interface, som klassen eksponerer for eksterne enheder.
Adgangsmodifikatoren gælder, indtil en anden er angivet eller mødt.
main.cpp
12345678910111213#include <iostream> class Person { public: std::string name; }; int main() { Person person; person.name = "Bob"; std::cout << person.name; }
Prøv at slette eller ændre public
-nøgleordet og se, hvad der sker.
På samme måde som en chauffør kan betjene en bil uden at forstå dens interne mekanik, behøver brugere og programmører ikke bekymre sig om private
attributter og metoder i en klasse. Følg disse regler:
Hold datamedlemmer
private
ellerprotected
;Giv
public
metoder til at tilgå og ændre deprivate
data;Sørg for, at disse metoder kun udfører det, de er tiltænkt, uden at afsløre den interne logik.
En velindkapslet class
bør kun eksponere det, der er nødvendigt for brugerne, og skjule dens interne tilstand og implementeringsdetaljer.
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat