JavaScript对象继承,前面学习了如何用原型来实现继承。为了加深印象,这里给出一个示例:
function Dog() {
this.breed = "";
this.setBreed = function(newBreed) {
this.breed = newBreed;
}
}
Dog.prototype = new Pet();
var myDog = new Dog();
myDog.setName("Alan");
myDog.setBreed("Greyhound");
alert(myDog.name + " is a " + myDog.breed);
通过class语法,我们现在可以用一种来自其他语言的OOP程序员更加熟悉的方式执行继承——使用extends和super。
下面介绍如何用extends和super创建带有继承的一个新对象:
class Dog extends Pet {
constructor(name, breed) {
super(name);
this.breed = breed;
}
}
var myDog = new Dog("Alan", "greyhound");
alert(myDog.name + " is a " + myDog.breed);
可以看到,extends关键字用来创建一个类以使其作为另一个类的一个子类,而super关键字使得你能够调用所继承的父对象的功能,并使用父对象所包含的任何的逻辑、getter或setter。注意,如果没有在一个子类上定义一个构造函数,将会默认地调用super类的构造函数。
这里在构造函数中用了super关键字,这使得你能够调用一个父类的构造函数并继承其所有属性。
酷客网相关文章:
评论前必须登录!
注册