js 클래스 계승

1398 단어 prototypeF#
js 계승은 주로 유형 계승과 원형 계승으로 나뉜다.
 
유형 계승: 대략적인 사고방식 1 그 구조 함수를 계승하고 2.그 방법을 계승하고, 3 그 구조 결과를 성명하고, 4 덮어쓰고 자신을 확장하는 방법
우선 일반 클래스 정의하기 Person
// 
function Person(name){
this.name=name
}
// 
Person.prototype.getName=function(){
return this.name
}
// Person 
var boy=new Person("mali");
boy.getName();

상속 Person을 위한 새 클래스 Author 만들기
function Author(name,books){
// 
 Person.call(this,name);
 this.books=books;
}

// 
Author.prototype=new Person();
// 
Author.prototype.constructor=Author;
// 
Author.prototype.getBooks=function(){
return this.books;
}

클래스의 성명을 간소화하기 위해 전체 과정을 포장하고 extend 함수를 설명할 수 있습니다.
아래의 봉인 함수는 부류를 계승하는 방법에 대해 봉인되었지만, 구조 함수에 대해 계승하지 않았으며, 수동으로call을 호출하여 완성해야 한다
 
function extend(subclass,superclass){
//   superclass 
 var F=function(){};
// superclass F 
 F.prototype=superclass.prototype;
// subclass F 
subclass.prototype=new F();
subclass.prototype.constructor=subclass;
}

 
function Author(name,book){
Person.call(this,name);
this.book=book;
}
extends(Author,Person);
Author.prototype.getBook=function(){
return this.book;
}

좋은 웹페이지 즐겨찾기