Kursinnehåll
C++ OOP
C++ OOP
Nyckelord för Åtkomstmodifierare
Inkapsling uppnås främst genom användning av åtkomstmodifierare. Dessa modifierare styr vilken åtkomstnivå andra delar av programmet har till medlemmarna (både data och funktioner) i en klass. De tre huvudsakliga åtkomstmodifierarna är:
private
: åtkomlig endast inom samma klass och är dolda från utanför klassen. Detta är standardåtkomstnivån för klassmedlemmar;protected
: åtkomlig inom klassen och dess underklasser. De är mer tillgängliga änprivate
-medlemmar men ger fortfarande ett visst dataskydd;public
: åtkomlig från vilken del av programmet som helst. Även ompublic
-medlemmar inte är inkapslade, är de nödvändiga för att definiera det gränssnitt som klassen exponerar för externa enheter.
Åtkomstmodifieraren fortsätter att gälla tills en annan anges eller påträffas.
main.cpp
#include <iostream> class Person { public: std::string name; }; int main() { Person person; person.name = "Bob"; std::cout << person.name; }
Försök att ta bort eller ändra public
-nyckelordet och se vad som händer.
På samma 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
ellerprotected
;Tillhandahåll
public
metoder för att komma åt och ändra deprivate
uppgifterna;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.
Tack för dina kommentarer!