Javascript繼承3:將優勢爲我全部----組合式繼承

//聲明父類
function ParentClass(name){
    //值類型公有屬性
    this.name = name
    //引用類型公有屬性
    this.books = ['Html']
}
//父類型原型公有方法
ParentClass.prototype.getName = function(){
    console.log(this.name);
}
//聲明子類
function ChildClass(name,id){
    //構造函數式繼承父類name屬性
    ParentClass.call(this,name);
    //子類中新增公有屬性
    this.id = id;
}
// 類式繼承  子類原型繼承父類
ChildClass.prototype = new ParentClass();
// 子類原型方法
ChildClass.prototype.getId = function(){
    console.log(this.id);
}

var child1 = new ChildClass('Css',1)
child1.books.push('圖解Css');
console.log(child1.books) // ['Html','圖解Css']
child1.getName()          // Css
child1.getId()            // 1


var child2 = new ChildClass('Javascript',2)
console.log(child2.books) // ['Html']
child2.getName()          // Javascript
chil2.getId()             // 2

設計模式中的經典筆錄設計模式

相關文章
相關標籤/搜索