Ochrona danych
Istnieje w klasach coś takiego jak ochrona danych. Są tylko trzy stopnie
ochrony.
public,
protected,
private, Stopień private ma największy stopień ochrony. Można do
danych i metod chronionych tym stopniem odwoływać się tylko poprzez inne metody
tej klasy, w której te dane zostały zdefiniowane. Nie mogą z tych danych
kożystać klasy pochodne. Np may klasę X:class X
{
public:
int odczytaj_x();
private:
int X;
int odczytajx();
};
Mamy też metody:int X::odczytajx()
{
return X;
}
int X::odczytaj_x()
{
return X;
}
Albo ostatnią metodę możemy następująco zmienić:
int X::odczytaj_x()
{
return odczytajx();
}
I w końcu funkcję main:
void main()
{
X klasa;
klasa.x=5; //Błąd brak dostępu
cout<<klasa.odczytajx(); //Błąd brak dostępu
cout<<klasa.odczytaj_x(); //poprawnie mamy dostęp
}
Stopień ochrony protected jest już mniej rygorystyczny różni się on
tym od powyższego stopnia że klasy pochodne mogą już kożystać z pól i metod
klasy bazowej. Np:
class X
{
protected:
int X;
int odczytajx();
};
class Y: public X
{
public:
void ZapiszDoX(int);
int PokazX();
};
int X::odczytajx()
{
return X;
}
void Y::ZapiszDoX(int y)
{
X=y;
}
int Y::PokazX()
{
return odczytajx();
}
void main()
{
X klasax;
Y klasay;
klasay.ZapiszDoX(5); //Poprawnie
cout<<klasay.PokazX(); //Poprawnie
cout<<klasax.odczytajx(); //Błąd brak dostępu
cout<<klasax.X; //Błąd brak dostępu
}
Stopień ochrony public jest najmniej rygorystycznym stopniem. Wszędzie
tam gdzie powyżej wystąpił by błąd, braku dostępu, tutaj dostęp otrzymamy.
Dlatego żeby coś wyświetlić na ekranie musiała być jakieś pole lub metoda typu
public.Najlepiej jest jeżeli wszystkie dane są typu private. Zapobiega
to różnym komplikacją przy dużych projektach. Przy małych nie ma to większego
znaczenia.
Wyszukiwarka
Podobne podstrony:
Prezentacja suplementy i ochrona danych osobowychUstawa z dnia 29 sierpnia 1997 r o ochronie danych osobowychustawa o ochronie danych osobowychkołaczek,bezpieczeństwo i ochrona danych, opracowanie wykładuO ochronie danych osobowych (USTAWA z dnia 29 sierpnia 1997 r )kołaczek,bezpieczeństwo i ochrona danych, pytania i odpowiedziDane i bezpieczenstwo (ochrona danych)Gliniecki W Ochrona danych osobowych i informacji niejawnychWAT Ochrona danych wszystkie slajdy robustawa o ochronie danychModuł I Ochrona danych w organizacjiwięcej podobnych podstron