대상을 위한 프로그램 설계 (9) 기생 조합식 계승

2419 단어 대상을 향하다
function object(o) {

    function F() {}

    F.prototype = o;

    return new F();

}



function inheritPrototype(subType, superType) {

    var prototype = object(superType.prototype);// 

    prototype.constructor = subType;// 

    subType.prototype = prototype;// 

}



function SuperType(name) {

    this.name = name;

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

}



SuperType.prototype.sayName = function () {

    alert(this.name);

}



function SubType(name, age) {

    SuperType.call(this, name);



    this.age = age;

}



inheritPrototype(SubType, SuperType);



SubType.prototype.sayAge = function () {

    alert(this.age);

}



var instance1 = new SubType("Tom", "22");

instance1.colors.push("black");

console.dir(instance1);



var instance2 = new SubType("Lucy", "25");

console.dir(instance2);

좋은 웹페이지 즐겨찾기