Criação de classes em Javascript
Agora que já conhecemos um pouco os objetos e aprendemos a manejá-los podemos passar a um tema mais avançado, como é o de construir nossos próprios objetos, que pode ser útil em certas ocasiões para temas avançados.
Então vamos a ver como podemos definir nossos próprios objetos, com suas propriedades e métodos, de maneira que aprendamos o mecanismo, mas sem entrar muito em aspectos práticos que deixaremos para exemplos no futuro.
Para criar nossos próprios objetos devemos criar uma classe, que lembramos que é algo assim como a definição de um objeto com suas propriedades e métodos. Para criar a classe em Javascript devemos escrever uma função especial, que se encarregará de construir o objeto na memória e inicia-lo. Esta função chama-se construtor na terminologia da programação orientada a objetos.
function MinhaClasse (valor_iniciacao){
//Inicio as propriedades e métodos
this.minhaPropriedade = valor_iniciacao
this.meuMetodo = nome_de_uma_funcao_definida
}
Isso era um construtor. Utiliza a palavra this para declarar as propriedades e métodos do objeto que se está construindo. This faz referência ao objeto que se está construindo, pois lembremos que a esta função a chamaremos para construir um objeto. A esse objeto que se está construindo lhe vamos atribuindo valores em suas propriedades e também lhe vamos atribuindo nomes de funções definidas para seus métodos. Ao construir um objeto tecnicamente é igual que declarar uma propriedade ou um método, somente difere em que a uma propriedade lhe atribuímos um valor e a um método lhe atribuímos uma função.
A classe AlunoUniversitário
Veremos tudo mais detalhadamente se fazemos um exemplo. Neste exemplo, vamos criar um objeto estudante universitário. Como estudante terá umas características como o nome, a idade ou o número de matrícula. Ademais poderá ter algum método como, por exemplo, matricular ao aluno.
Construtor: Colocamos propriedades
Vejamos como definir o construtor da classe Alunouniversitário, mas somente vamos colocar por agora as propriedades da classe.
function AlunoUniversitario(nome, idade){
this.nome = nome
this.idade = idade
this.numMatricula = null
}
O construtor recebe os valores de iniciação como parâmetros, neste caso é só o nome e a idade, porque o número de matrícula o aluno não recebe até que esteja matriculado. É por isso que atribuímos a null a propriedade numMatrícula.