Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Nyckelord för Åtkomstmodifierare | Översikt Av Inkapsling
C++ OOP

bookNyckelord för Åtkomstmodifierare

Inkapsling uppnås främst genom användning av åtkomstmodifierare. Dessa modifierare styr åtkomstnivån som andra delar av programmet har till medlemmarna (både data och funktioner) i en klass. De tre huvudsakliga åtkomstmodifierarna är:

  • private: åtkomliga endast inom samma klass och är dolda för kod utanför klassen. Detta är standardåtkomstnivån för klassmedlemmar;

  • protected: åtkomliga inom klassen och dess underklasser. De är mer tillgängliga än private-medlemmar men ger fortfarande ett visst dataskydd;

  • public: åtkomliga från vilken del av programmet som helst. Även om public-medlemmar inte är inkapslade, är de nödvändiga för att definiera det gränssnitt som klassen exponerar för externa enheter.

Note
Notera

Åtkomstmodifieraren gäller tills en annan anges eller påträffas.

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
Notering

Försök att ta bort eller ändra public-nyckelordet och se vad som händer.

På liknande sätt som en förare kan använda en bil utan att förstå dess interna mekanik, behöver användare och programmerare inte bry sig om private attribut och metoder inom en klass. Följ dessa regler:

  • Håll datamedlemmar private eller protected;
  • Tillhandahåll public metoder för att komma åt och ändra de private data;
  • Säkerställ att dessa metoder endast utför det de är avsedda för, utan att avslöja den interna logiken.

En väl kapslad class ska endast exponera det som är nödvändigt för användarna och dölja sitt interna tillstånd och implementeringsdetaljer.

question mark

Vad händer om du försöker komma åt en privat medlem i en klass direkt utanför klassen?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 3. Kapitel 2

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

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?

bookNyckelord för Åtkomstmodifierare

Svep för att visa menyn

Inkapsling uppnås främst genom användning av åtkomstmodifierare. Dessa modifierare styr åtkomstnivån som andra delar av programmet har till medlemmarna (både data och funktioner) i en klass. De tre huvudsakliga åtkomstmodifierarna är:

  • private: åtkomliga endast inom samma klass och är dolda för kod utanför klassen. Detta är standardåtkomstnivån för klassmedlemmar;

  • protected: åtkomliga inom klassen och dess underklasser. De är mer tillgängliga än private-medlemmar men ger fortfarande ett visst dataskydd;

  • public: åtkomliga från vilken del av programmet som helst. Även om public-medlemmar inte är inkapslade, är de nödvändiga för att definiera det gränssnitt som klassen exponerar för externa enheter.

Note
Notera

Åtkomstmodifieraren gäller tills en annan anges eller påträffas.

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
Notering

Försök att ta bort eller ändra public-nyckelordet och se vad som händer.

På liknande sätt som en förare kan använda en bil utan att förstå dess interna mekanik, behöver användare och programmerare inte bry sig om private attribut och metoder inom en klass. Följ dessa regler:

  • Håll datamedlemmar private eller protected;
  • Tillhandahåll public metoder för att komma åt och ändra de private data;
  • Säkerställ att dessa metoder endast utför det de är avsedda för, utan att avslöja den interna logiken.

En väl kapslad class ska endast exponera det som är nödvändigt för användarna och dölja sitt interna tillstånd och implementeringsdetaljer.

question mark

Vad händer om du försöker komma åt en privat medlem i en klass direkt utanför klassen?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 3. Kapitel 2
some-alt