JavaScript对象继承

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关键字,这使得你能够调用一个父类的构造函数并继承其所有属性。

酷客网相关文章:

赞(0)

评论 抢沙发

评论前必须登录!