大家好
在 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);
給大家參考囉~![]()

留言板
歡迎留下建議與分享!希望一起交流!感恩!