제5 장 상속

1780 단어
JS 에 서 는 가능 한 상속 패턴 이 많다.이 장 에서 우 리 는 몇 가지 가장 직접적인 모델 을 연구 할 것 이다.물론 더 복잡 한 구조 모델 도 많 지만 간단 함 을 유지 하 는 것 이 좋다.
1. 위조 류
var Mammal = function (name){
    this.name = name;
}

Mammal.prototype.getName = function (){
    return this.name;
};

Mammal.prototype.says = function (){
    return this.saying || '';
};

var myMammal = new Mammal('hello the mammal');

var name = myMammal.getName();

이제 우 리 는 다른 위 류 를 만들어 서 Mammal 을 계승 할 수 있 습 니 다. 이것 은 그의 constructor 함 수 를 정의 하고 prototype 을 Mammal 의 인 스 턴 스 로 교체 함으로써 이 루어 집 니 다.
var Cat = function(name){
    this.name = name;
    this.saying = 'meow';
}

/ / Cat. prototype 을 새로운 Mammal 인 스 턴 스 로 교체 합 니 다.
Cat.prototype = new Mammal();

/ / 새로운 원형 확장, Purr 와 get 증가name 방법
Cat.prototype.purr = function(n) {
    var i, s = '';
    for( i = 0; i < n; i ++ ){
        if(s){
            s += '-'
        }
        s += 'r';
    }
    return s;
}

Cat.prototype.getName = function(){
    return this.says() + ' ' + this.name + ' ' + this.says();
}

var myCar = new Cat('Henrietta');
var says = myCar.says();
var purr = myCar.purr(5);
var name = myCar.getName();

'위조 류' 형식 은 js 에 익숙 하지 않 은 프로그래머 에 게 편 의 를 제공 할 수 있 지만 이 언어의 진실 한 본질 도 숨 겼 다.참고 류 의 표현법 은 프로그래머 가 지나치게 깊이 있 고 복잡 한 차원 구 조 를 작성 하도록 오도 할 수 있다.
2 대상 설명자
구조 기 에 큰 인 자 를 받 아들 여야 할 때 도 있다.
나 자신 은 이전에 쓴 함수 에서 받 아들 인 매개 변수 가 비교적 많아 서 다른 사람 이 호출 하기 어렵 다 는 것 을 깊이 깨 달 았 다.
그래서 가장 좋 은 방법 은:
var parame = {
    first: f,
    middle: m,
    last: l,
    state: s,
    city: c
}

var myObject = maker(parame);

원형
원형 에 기초 한 계승
함수 화

좋은 웹페이지 즐겨찾기