Este artigo discutirá a herança da classe em JavaScript. Nós também explicaremos Métodos de sombreamento e herdando métodos estáticos Usando a herança da classe em JavaScript. Além disso, cada uma das seções especificadas será demonstrada com a ajuda de exemplos. Então vamos começar!
Herança de classe em JavaScript
O mecanismo em que uma classe herda os métodos e propriedades de outra classe é conhecida como Herança de classe. O "Base" ou o "Pai”Classe é aquele cujos métodos e propriedades são herdados, enquanto o“Derivado" ou o "Criança”Classe herda a funcionalidade da classe pai:
O "estende -se”A palavra -chave é usada para estabelecer a herança de classe entre pai e classe infantil, e o“super”A palavra -chave é utilizada para acessar os métodos e propriedades da classe pai.
Exemplo: Herança de classe em JavaScript
No exemplo abaixo, definiremos duas classes: Pessoa e Funcionário, e criar a herança de classe entre eles, utilizando o “super" e "estende -se" palavras-chave.
Primeiro de tudo, definiremos uma classe pai ou base chamada “Pessoa”Tendo um construtor e um método mostrado ():
classe de classeNa próxima etapa, criaremos a classe infantil chamada “Funcionário”Que terá um construtor e um“DisplayStatus ()”Método. Para estabelecer uma relação de herança de classe com o “Pessoa”Classe, você tem que usar o“estende -se”Palavra -chave e especifique o nome da classe pai, que é“Pessoa" no nosso caso. Depois de fazer isso, o “Funcionário”A classe herdará a“Pessoa”Métodos e propriedades da classe.
Além disso, no “Funcionário”Construtor de classe, nós invocaremos“super()”Para chamar o construtor do“Pessoa”Classnome”Argumento:
classe funcionário estende a pessoaAgora, vamos criar um “funcionário“Objeto do“Funcionário”Classe e vai passar“Jack”Como argumentos de nome no construtor:
Deixe funcionário = novo funcionário ('Jack');O criado “funcionário”Objeto herdou todos os métodos e propriedades do“Pessoa" aula. Agora, vamos invocar o “mostrado nome ()”Método do“Pessoa”Class
funcionário.mostrado nome ();Por fim, chamaremos o “DisplayStatus ()”Método do“Funcionário”Objeto de classe:
funcionário.displayStatus ();Dê uma olhada na imagem abaixo do código do código fornecido e em sua saída:
Como super () inicializa o “esse”Objeto, você deve invocar primeiro antes de acessá -lo. No entanto, se você tentar acessar “esse”Antes de executar o super (), isso lhe dará um erro.
Por exemplo, para inicializar o “idade"Propriedade do"Funcionário”Classe em seu construtor, chamaremos o“super()”Primeiro e depois acesse o“esse”Objeto:
classe funcionário estende a pessoaAgora, no momento da criação do “funcionário1“Objeto do“Funcionário”Aula, vamos passar“Jack" como nome e "29" como idade argumento para o construtor:
Deixe o funcionário1 = novo funcionário ('Jack', 29);Então, após a inicialização, invocaremos o “getage ()”Método da nossa classe de funcionários para visualizar o valor da propriedade AGE:
console.log (funcionário1.getage ());Confira a saída do exemplo acima:
Métodos de sombreamento usando herança de classe em javascript
Métodos com o mesmo nome podem ser definidos nas classes de pais e filhos. Em tal situação, quando você invoca o método de um objeto de classe infantil, ele sombreará o método presente na classe pai.
Por exemplo, o abaixo foi dado “Estudante”A classe é a classe infantil do“Pessoa”E está redefinindo o“mostrado nome ()”Método:
Classe Student estende a pessoaAgora o "mostrado nome ()”Existe o método na classe infantil e também na classe dos pais. Então, quando você chama o “mostrado nome ()" com o "Estudante”O objeto de classe, ele invocará o método mostrado () definido na classe infantil:
Seja Student1 = New Student ();Aqui está o código de exemplo com sua saída:
Se você deseja invocar o método da classe pai com o mesmo nome, na aula infantil, você deve escrever “super.MethodName (argumentos)”. Por exemplo, chamaremos o “mostrado nome ()”Método do“Pessoa“Classe (pai) adicionando a linha“super.mostrado nome ()”Em nosso método de classe infantil mostrado nome ():
mostrado nome ()Agora, quando o objeto da classe infantil invoca o “mostrado nome ()”, Ele passará pelo método do corpo da classe infantil mostrado () e depois chamará o método da classe paiMedame (). Depois de concluir a execução do método da classe pai Substituído (), o controle será transferido de volta ao método mostrado () da classe infantil:
Seja Student1 = New Student ();Na imagem a seguir, você pode ver a saída do “mostrado nome ()”Método:
Herdando membros estáticos usando herança de classe em javascript
A classe infantil também pode herdar os métodos e propriedades estáticas da classe pai. Vamos ajudá -lo a entender esse conceito demonstrando um exemplo.
No exemplo seguinte, definiremos um estático “Olá Mundo()”Método no mesmo“Pessoa”Classe de pai que simplesmente produzirá o“Olá Mundo”String ao chamá -lo:
classe de classeNa próxima etapa, criaremos “Funcionário”Como uma classe infantil do“Pessoa”, Para que possa herdar o método e as propriedades da classe pai, incluindo o“Olá Mundo()”Método estático:
classe funcionário estende a pessoaEm seguida, invocaremos o método estático helloworld () através do “Funcionário" aula:
Funcionário.Olá Mundo();O empregado.O método helloworld () será executado igual à pessoa.Helloworld () Método:
Conclusão:
Você pode usar o estende -se palavra -chave para criar uma herança de classe em JavaScript e o super palavra -chave para se referir à classe pai. Com o mecanismo de herança da classe em JavaScript, a classe infantil pode acessar os métodos e propriedades da classe pai. Este artigo discutiu a herança de classe em JavaScript. Também explicamos métodos de sombreamento e herdando métodos estáticos usando a herança de classe em JavaScript. Além disso, cada uma das seções especificadas é demonstrada com a ajuda de exemplos.