대상을 위한 프로그램 설계 (4) 원형 체인 계승

3871 단어 대상을 향하다
function SuperType() {

    this.property = true;

}



SuperType.prototype.getSuperValue = function () {

    return this.property;

}



function SubType() {

    this.subproperty = false;

}



// SuperType

SubType.prototype = new SuperType();



SubType.prototype.getSubValue = function () {

    return this. subproperty;

}



var instance = new SubType();

alert(instance.getSuperValue());//true



alert(instance instanceof Object);//true

alert(instance instanceof SubType);//true

alert(instance instanceof SuperType);//true



alert(Object.prototype.isPrototypeOf(instance));//true

alert(SubType.prototype.isPrototypeOf(instance));//true

alert(SuperType.prototype.isPrototypeOf(instance));//true



//SubType SuperType, SuperType 。

// 1: ,instance3 colors instance2 

// 2: , (SuperType2) 

function SuperType2() {

    this.colors = ["red", "blue"];

}



function SubType2() {

}



SubType2.prototype = new SuperType2();



var instance2 = new SubType2();

instance2.colors.push("black");

alert(instance2.colors);//"red", "blue", "black"



var instance3 = new SubType2();

alert(instance3.colors);//"red", "blue", "black"

좋은 웹페이지 즐겨찾기