Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Adgangsmodifikator Nøgleord | Oversigt Over Indkapsling
Quizzes & Challenges
Quizzes
Challenges
/
C++ OOP

bookAdgangsmodifikator 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 end private medlemmer, men giver stadig en vis databeskyttelse;

  • public: tilgængelig fra enhver del af programmet. Selvom public medlemmer ikke er indkapslede, er de nødvendige for at definere det interface, som klassen stiller til rådighed for eksterne enheder.

Note
Bemærk

Adgangsmodifikatoren gælder fortsat, indtil en anden specificeres eller mødes.

main.cpp

main.cpp

copy
12345678910111213
#include <iostream> class Person { public: std::string name; }; int main() { Person person; person.name = "Bob"; std::cout << person.name; }
Note
Bemærk

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 at bekymre sig om private attributter og metoder i en klasse. Følg disse regler:

  • Hold datamedlemmer private eller protected;
  • Giv public metoder til at tilgå og ændre de private 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.

question mark

Hvad sker der, hvis du forsøger at tilgå et privat medlem af en klasse direkte udefra klassen?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 3. Kapitel 2

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Suggested prompts:

Can you give an example of encapsulation in code?

Why is encapsulation important in object-oriented programming?

How do access modifiers differ in other programming languages?

bookAdgangsmodifikator Nøgleord

Stryg for at vise menuen

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 end private medlemmer, men giver stadig en vis databeskyttelse;

  • public: tilgængelig fra enhver del af programmet. Selvom public medlemmer ikke er indkapslede, er de nødvendige for at definere det interface, som klassen stiller til rådighed for eksterne enheder.

Note
Bemærk

Adgangsmodifikatoren gælder fortsat, indtil en anden specificeres eller mødes.

main.cpp

main.cpp

copy
12345678910111213
#include <iostream> class Person { public: std::string name; }; int main() { Person person; person.name = "Bob"; std::cout << person.name; }
Note
Bemærk

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 at bekymre sig om private attributter og metoder i en klasse. Følg disse regler:

  • Hold datamedlemmer private eller protected;
  • Giv public metoder til at tilgå og ændre de private 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.

question mark

Hvad sker der, hvis du forsøger at tilgå et privat medlem af en klasse direkte udefra klassen?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 3. Kapitel 2
some-alt