Um personagem de um jogo:
A questão é: alguns personagens chutam e socam de forma diferente.
class Personagem {
void pular();
void chutar();
void socar();
}
class Ruy : public Personagem {
void pular() {
this.altura_max = 10;
}
}
class Chunli : public Personagem {
void pular() {
this.altura_max = 15;
}
}
Personagem player1 = new Ruy();
Peronsagem player2 = new Chunli();
Função/variável que está visível para classes filhas e nas instâncias.
Padrão quando não há uma visibilidade definida.
class PublicExample {
public:
int a_number;
void set_a_number(int number_to_set);
int get_a_number();
}
Função/variável que está visível apenas para classes filhas.
class PrivateExample {
private:
int a_number;
public:
void set_a_number(int number_to_set);
int get_a_number();
}
Função/variável é visível apenas dentro da própria classe.
class ProtectedExample {
protected:
int a_number;
public:
void set_a_number(int number_to_set);
int get_a_number();
}