Jaka jest różnica między prywatnymi i chronionymi członkami klas C ++

Jaka jest różnica między prywatnymi i chronionymi członkami klas C ++
C ++ to język programowania zorientowanego na obiekt (OOP), który zapewnia mechanizm kapsułkowania danych i funkcji w jedną jednostkę zwaną klasą. Jedną z podstawowych cech klasy jest możliwość określenia poziomu dostępu dla jej członków. W programowaniu obiektowym, specyfikatory dostępu są wykorzystywane do kontrolowania widoczności i dostępności pól i metod klasy. Chroniony, publiczny, I prywatny Poziomy dostępu to trzy podstawowe typy poziomów dostępu w C++.

W tym artykule omówimy różnicę między dwoma głównymi specyfikator dostępuS, prywatny I chroniony Członkowie klasy C ++.

Prywatny specyfikator dostępu

Prywatni członkowie są zadeklarowane za pomocą słowa kluczowego ”prywatny'. Prywatny specyfikator dostępu ogranicza dostęp do członków klasy tylko do samej klasy. Kod poza klasą nie może uzyskać dostępu do prywatnego członka. Oznacza to, że tylko metody zadeklarowane w klasie mogą uzyskać dostęp i działać na Prywatni członkowie, Nawet zajęcia pochodne nie mogą uzyskać dostępu Prywatni członkowie. Powszechne użycie Prywatni członkowie ma zapewnić prawidłowe działanie klasy. Prywatni członkowie są używane do kapsułkowania danych klasy i zapewnienia poziomu abstrakcji użytkownikom klasy.

#włączać
za pomocą przestrzeni nazw Std;
Class Player
prywatny:
Nazwa ciągu;
int wiek;
publiczny:
void getPlayer ()

Cout << "Enter name: ";
CIN >> Imię;
Cout << "Enter age: ";
CIN >> Wiek;

void showplayer ()

Cout << "Name: " << name << endl;
Cout << "Age: " << age << endl;

;
int main ()

gracz PL;
pl.getPlayer ();
pl.showplayer ();
powrót 0;

W powyższym kodzie używamy metod członków publicznych getPlayer () I showplayer () Aby uzyskać dostęp do dwóch prywatny członkowie nazwa I wiek. getPlayer () funkcja pobiera dane wejściowe od użytkowników i wyświetla ją na ekranie za pośrednictwem showplayer () funkcjonować.

Wyjście

Protected Cecifier

Chronione członkowie klasy mogą uzyskać zarówno klasy pochodne, jak i funkcje członkowskie samej klasy. Chronione członkowie są wykorzystywane do zapewnienia poziomu dostępu do klas pochodnych bez ujawnienia szczegółów wdrożenia na świat zewnętrzny. Chronione członkowie są zadeklarowane za pomocą słowa kluczowego ”chroniony'i okrężnica (:) postać. Chronione członkowie Pozwól, aby klasa była rozszerzona i modyfikowana, bez uszczerbku dla jej integralności. Klasa pochodna może użyć chronione członkowie udoskonalić lub dostosować zachowanie klasy podstawowej.

Oto przykład klasy z chronione członkowie:

#włączać
za pomocą przestrzeni nazw Std;
Class Player
prywatny:
Nazwa ciągu;
int wiek;
chroniony:
cele int;
publiczny:
void getPlayer ()

nazwa cout;
COUT AGE;

void showplayer ()

Cout << "Name: " << name << endl;
Cout << "Age: " << age << endl;

;
Class Player1: Public Player
prywatny:
kraj smyczkowy;
publiczny:
void set_goals (int g)

cele = g;

void getPlayer1 ()

getPlayer ();
Cout Cout;

void showplayer1 ()

Cout << "goals: " << goals << endl;
showplayer ();
Cout << "Country: " << country << endl;

;
int main ()

Player1 Pl;
pl.set_goals (101);
pl.getPlayer1 ();
pl.showplayer1 ();
powrót 0;

gracz Klasa obejmuje dwa Prywatni członkowie, nazwa I wiek, jeden chroniony członek, cele, I prywatny Członkowie są wykorzystywani wewnątrz publiczny Funkcje członka, getPlayer () I showplayer (). Istnieją dwie klasy, gracz I gracz1, oba są klasami podstawowymi. Jeden prywatny członek, kraj, i trzy publiczny Metody członkowskie składają się gracz1 klasa. Wyznaczone cele() służy do zmiany chronionego elementu cele' wartość. getPlayer1 () woła getPlayer () funkcja członka gracz klasa, a jednocześnie wyszukiwanie wkładu dla kraju. Podobne do tego, showplayer1 () woła showplayer () funkcja członka i drukuje cele I kraj wartości.

Wyjście

Różnica między prywatnymi i chronionymi członkami klas C ++

Tutaj są wymienione niektóre z kluczowych różnic między Prywatny I Chroniony Członkowie zajęć C ++.

1: Zakres i funkcjonalność

Rozważając użycie specyfikatorów dostępu, kluczowe jest uważne przemyślenie zakres I funkcjonalność programu. A Prywatny specyfikator dostępu zapewnia najwyższy poziom bezpieczeństwa i pozwala uniknąć niezamierzonego dostępu do zmiennych i metod. Z drugiej strony a Protected Cecifier oferuje szerszy zakres dostępności i elastyczności, co jest niezbędne przy planowaniu odziedziczonych klas pochodnych z klasy podstawowej.

2: Poziom dostępu

Główna różnica między prywatny I chronione członkowie to poziom dostępu, jaki zapewniają. Chroniony Członkowie mogą być dostępne zarówno w klasach pochodnych klas, jak i funkcje członków, ale prywatny Członkowie mogą być uzyskani tylko przez funkcje członków klasy.

3: enkapsulacja klasy

Kolejna kluczowa różnica między prywatny I chroniony Członkowie to ich rola w utrzymywaniu enkapsulacji klasy. Wyodrębnić dane i zapewnić użytkownikom klasy pewien poziom abstrakcji, prywatny Członkowie są zatrudnieni. Chroniony Członkowie są zatrudnieni do zarządzania strukturą dziedziczenia i zapewnienia dostępu do członków klasy bazowej według klas pochodnych.

Końcowe przemyślenia

Prywatny I chronione członkowie to dwa podstawowe poziomy dostępu w klasie C ++. prywatny Specyfikator dostępu sprawia, że ​​członkowie klasy są niedostępne dla wszystkich użytkowników zewnętrznych i służy do przechowywania informacji prywatny w klasie. Natomiast a chroniony Specyfikator dostępu umożliwia dostęp do członków klasy tylko według klas pochodnych, służy do zapewnienia funkcjonalności klasy podstawowej i umożliwia modyfikację bez zmiany zachowania klasy podstawowej. Poziom dostępu członków klasy odgrywa kluczową rolę w utrzymywaniu enkapsulacji klasy i zapewnianiu poziomu dostępu do użytkowników klasy.