Construtores podem ser muito úteis ao longo da criação dos nossos jogos, nos trazendo diversas facilidades.
Mas, é muito comum causar um pouco de confusão, quando estamos nos nossos primeiros passos na programação.
Por isso, hoje falaremos mais sobre os construtores e todas as suas vantagens.
Começando pelas classes
Para facilitar o entendimento, vamos trabalhar com apenas uma classe por script, pois, eles podem conter mais de uma classe.
Mas, para evitar confusões, aqui cada script terá uma classe apenas, e as classes podem ser lobo, vampiro, player, etc.
E assim cada classe vai conter os atributos (características) especificas delas, e seus comportamentos únicos também (métodos).
Por exemplo, a classe Lobo pode uivar, então ela teria uma variável forçaUivo, e métodos para executar o uivo.
E o Vampiro, pode voar, atacar com garras, e se transformar em morcego, necessitando de variáveis que controlem isso também.
Mas, perceba que cada classe tem suas características e comportamentos únicos, que os diferenciam.
Porém, em um jogo você terá vampiros e lobos, com forças diferentes, um lobo chefe, ou um Drácula, por exemplo.
E mesmo sendo um vampiro, com as mesmas características, seus atributos podem ser mais fortes que o padrão.
Onde se encaixam os Construtores?
E aqui entra a facilidade do construtor, você não precisará criar um script pra cada vampiro.
Pois, ao criar um novo inimigo vampiro, ele será da classe Vampiro e por padrão, já receberá esses atributos.
E os construtores são métodos que nos permitem criar novas classes, já contendo seus atributos pré-definidos.
E personalizar esses valores, usando um padrão para os comuns e podendo mudar para um inimigo em específico.
Como criar um Construtor?
Usando o exemplo do vampiro, primeiro temos uma classe “Vampiros”, que será a base para todos.
E nela temos variáveis para seus atributos velocidadeVoar, velocidadeTransformação, forçaGarraAtaque.
E todos os inimigos que forem do tipo da classe “Vampiros”, receberão por padrão esses atributos e seus valores base.
E para criar o construtor, usamos o public, para ter acesso, e não colocaremos nenhum retorno como void ou outro.
E agora o nome do método construtor obrigatoriamente precisa ser o mesmo da classe, aqui no caso será “Vampiros”.
E dentro das chaves definimos os valores padrões que as variáveis receberão.
E uma segunda opção seria definindo parâmetros que obrigatoriamente, precisam ser preenchidos ao criar um novo inimigo.
Como usar?
Agora no script do inimigo que vai receber os atributos da classe que servirá de base, faremos o seguinte.
E aqui vamos declarar uma variável do tipo da classe base (Vampiros), e podemos dar o nome desse novo inimigo.
E faremos ele receber uma nova instância da sua classe que serviu de base (Vampiros), para recebermos seus atributos.
E podemos deixar esses valores padrões, ou usar o Start, para redefinir esses valores, caso seja um inimigo diferenciado.
E por fim, caso o construtor exija parâmetros, na hora de receber essa nova instancia, passaremos os valores.
Pois, eles precisam ser obrigatoriamente preenchidos, já na criação desse inimigo!
Seja o primeiro a comentar.