大家好
在 javascript 中如何實現類別繼承?
在一些其他語言中可能蠻直覺的
但是在 JS處理起來好像沒這麼直覺
不過可能有更好的方法我不知道就是
可以參考以下程式:
// 父類別 function Animal(name, legs) { this.name = name; this.legs = legs; } // 父類別的函式 Animal.prototype.sayHello = function () { console.log("Hello, I'm " + this.name); }; // 子類別 function Dog(name, legs, coatColor) { // 呼叫父類別的建構函式,並繼承屬性 Animal.call(this, name, legs); this.coatColor = coatColor; // 狗的毛色 } // 使用 Object.create 創建子類別的原型,並繼承父類別的原型 Dog.prototype = Object.create(Animal.prototype); // 重新指定 constructor 屬性為狗 Dog.prototype.constructor = Dog;
// 初始一個 子類別.並且給予初始值 var myDog = new Dog("Buddy", 4, "Golden"); //呼叫父類別的函式 myDog.sayHello(); // Hello, I'm Buddy //呼叫父類別的數值 console.log("Dog have " + myDog.legs + " legs "); //呼叫子類別的數值 console.log("Dog coat color is " + myDog.coatColor);
給大家參考囉~
留言板
歡迎留下建議與分享!希望一起交流!感恩!