Programowanie obiektowe w C++. Cz. 2 Atrybuty: Public i protected.
Cześć!
Dzisiaj zajmiemy się tak jak jest wspomniane w tytule atrybutami public i protected klasy. Czym one są?
Public- Coś publicznego, dostępnego dla klasy. Klasa udostępnia swoje dane każdemu kto chce.
Protected - Klasa ma metody, lub zmienne częściowo chronione przed odczytem lub modyfikacją. Mogą odczytać tylko klasy dziedziczące.
Przykład:
class MyClass
{
public:
void showValue(int value)
{
std::cout<<value<<'\n';
}
}myClass;///Dzięki temu że jest średnik można definiować obiekt bezpośrednio po nawiasach
int main()
{
myClass.showValue(10);
}
W przeciwieństwie do poprzedniej lekcji, wystarczyło dodać atrybut public, by zadziałało.
Jak można pokazac atrybut protected w akcji?
class MyClass
{
protected:
void show()
{
std::cout<<"Hello! It's MyClass\n";
}
};
class SecondClass:public MyClass
{
public:
void showInBaseClass()
{
this->show();}
};
int main()
{
SecondClass sec;
sec.showInBaseClass();
}
Warto wyjaśnić znaczenie użytego słówka this. This oznacza w angielskim "ten". Podobnie tutaj znaczy, że mówi o tym. W tym przypadku "tym" obiekcie, który został utworzony według przepisu z klasy. Warto wyjaśnić znaczenie "->", który oznacza wskaźnik.Ta lekcja jest bardziej praktyczna niż inne, dlatego dobrze jest przestudiować kod. Pozdrawiam i życze miłego kopiowania
Dzisiaj zajmiemy się tak jak jest wspomniane w tytule atrybutami public i protected klasy. Czym one są?
Public- Coś publicznego, dostępnego dla klasy. Klasa udostępnia swoje dane każdemu kto chce.
Protected - Klasa ma metody, lub zmienne częściowo chronione przed odczytem lub modyfikacją. Mogą odczytać tylko klasy dziedziczące.
Przykład:
class MyClass
{
public:
void showValue(int value)
{
std::cout<<value<<'\n';
}
}myClass;///Dzięki temu że jest średnik można definiować obiekt bezpośrednio po nawiasach
int main()
{
myClass.showValue(10);
}
W przeciwieństwie do poprzedniej lekcji, wystarczyło dodać atrybut public, by zadziałało.
Jak można pokazac atrybut protected w akcji?
class MyClass
{
protected:
void show()
{
std::cout<<"Hello! It's MyClass\n";
}
};
class SecondClass:public MyClass
{
public:
void showInBaseClass()
{
this->show();}
};
int main()
{
SecondClass sec;
sec.showInBaseClass();
}
Warto wyjaśnić znaczenie użytego słówka this. This oznacza w angielskim "ten". Podobnie tutaj znaczy, że mówi o tym. W tym przypadku "tym" obiekcie, który został utworzony według przepisu z klasy. Warto wyjaśnić znaczenie "->", który oznacza wskaźnik.Ta lekcja jest bardziej praktyczna niż inne, dlatego dobrze jest przestudiować kod. Pozdrawiam i życze miłego kopiowania
Komentarze
Prześlij komentarz