继承
继承可以使得子类具有父类的各种属性和方法
在高程中介绍了好多种,但是完美的就这一种,所以,就理解好这一种就可以了
ES5 中的继承
function Human(name) {
this.name = name;
}
Human.prototype.run = function() {
console.log("i can run");
};
function Man(name) {
Human.call(this, name);
this.gender = "男";
}
//如果 Man.prototype.__proto__ = Human.prototype就实现了继承
// 但是这样写是不允许的,
//所以
Man.prototype = Object.create(Human.prototype);
Man.prototype.constructor = Man;
ES6 中的继承
class Human {
constructor(name) {
this.name = name;
}
run() {
console.log("i can run");
}
}
class Man extends Human {
constructor(name) {
super();
this.gender = "男";
}
fight() {
console.log("fight");
}
}