Em projetos reais, geralmente usamos construtores para criar um objeto e adicionar alguns métodos comumente usados ao seu protótipo objeto. Por fim, instancie o objeto diretamente ou use -o como a classe pai, declare um objeto e herde a classe pai.
Existem duas maneiras comuns de herdar.
A cópia do código é a seguinte:
// Classe premium
Função Pessoa (nome) {
this.name = nome;
};
// Subclasse
Função aluno (sexo) {
Pessoa.Apply (isto, argumentos);
this.sex = sexo;
};
1. Herito protótipo:
A cópia do código é a seguinte:
Estudante.prototype = Pessoa.prototipo; Como PERSON.Prototype.Constructor aponta para a pessoa, a tarefa do objeto é essencialmente uma tarefa de referência; portanto, Student.prototype.Constructor também aponta para a pessoa
Estudante.prototype.constructor = Student;
Use o objeto de protótipo da pessoa para substituir o objeto de protótipo do aluno; .
Veja o seguinte:
A cópia do código é a seguinte:
Estudante.prototype.add = function () {alert ("add")};
Pessoa.prototype.add (); // POPT ADD
2. Exemplo de herança:
A cópia do código é a seguinte:
Estudante.prototype = new Pessoa ();
2 Student.prototype.Constructor = Student;
Use a instância da pessoa para substituir o protótipo do aluno; Não será refletido pessoalmente. Prototipo, ou seja, a subclasse não afetará a classe pai.
3. Use objetos de controle para combinar as vantagens de 1 e 2 para eliminar as desvantagens
A cópia do código é a seguinte:
var f = function () {};
F.Prototype = Person.prototype;
Estudante.prototype = new f ();
Estudante.prototype.Constructor = Student;
F é um objeto vazio, com apenas alguns métodos de protótipo acima, que consomem menos memória ao instantando e também isola o impacto das subclasses nas classes parentais.