Quero adicionar uma observação rápida sobre essa função de construtor.
Lembre-se, isso é chamado sempre que instanciamos um objeto e é assim que criamos objetos personalizados.
Direito.
Mas uma coisa interessante que você pode fazer aqui, porque você tem controle sobre como a instanciação
acontece.
Você pode fazer diferentes salvaguardas.
Por exemplo, vamos remover isso agora porque não precisamos disso.
Ou, na verdade, vamos mudar isso para vamos envelhecer, queremos verificar se o usuário tem mais de
18 anos, então vamos executar de outra forma.
Bem, o programa vai se deteriorar porque só permitimos que pessoas com 18 anos ou mais joguem o jogo, porque digamos
que seja classificado como R, então podemos fazer coisas diferentes no construtor para ter certeza de que estamos instanciando o
objeto da maneira adequada.
Também podemos fornecer parâmetros padrão como o nome pode ser anônimo se quisermos, se eles não fornecerem um
nome e a idade será.
Digamos zero, se eles não fornecerem uma idade para que aqui, digamos que eu esqueça de instanciar o jogador
um e o jogador dois se eu clicar em executar.
Eu recebo um objeto de jogador aéreo que não tem nome de atributo.
E agora está na linha onze, por que não temos um nome próprio?
Bem, porque na linha 17 estamos tentando chamar shout, mas infelizmente nunca instanciamos
isso porque quando não fornecemos nada, a idade será zero.
Portanto, nunca iremos instanciar essas propriedades.
OK, então vamos dar um tempo e então a idade será de 10 anos.
E vamos remover o jogador dois por enquanto, se eu fizer o jogador um tiro e clicar em correr.
Mais uma vez, recebo um erro porque, bem, Tom tem apenas 10 anos, não vamos criar
esse personagem agora.
Vamos falar sobre erros.
E talvez em vez de apenas obter este erro, possamos enviar uma mensagem dizendo, ei, o jogador não tem idade
suficiente.
Mas, por agora, espero que você veja o poder que vem com essa ideia de construtor e a instanciação
de um objeto onde somos capazes de adicionar esses diferentes controles e salvaguardas para talvez ter certeza de
que receberemos seus tipos de dados corretos para criar o objeto.
Ou talvez a idade seja maior de 18 anos para ter certeza de que, quando realmente instanciarmos esse objeto
de jogador, estamos fazendo da maneira certa.
Portanto, este init oferece muito controle.