通过ES6如何定义一个类,并实现继承并传参?
时间: 2024-05-05 08:16:43 浏览: 137
ES6中定义一个类并实现继承并传参的示例代码如下:
```
class Animal {
constructor(name) {
this.name = name;
}
eat() {
console.log(`${this.name} is eating.`);
}
}
class Dog extends Animal {
constructor(name, breed) {
super(name);
this.breed = breed;
}
bark() {
console.log(`${this.name} is barking.`);
}
}
const myDog = new Dog('Max', 'Labrador Retriever');
myDog.eat(); // Output: Max is eating.
myDog.bark(); // Output: Max is barking.
console.log(myDog.breed); // Output: Labrador Retriever
```
在上面的示例代码中,我们首先定义了一个基类 `Animal`,它有一个构造函数 `constructor`,它接受一个参数 `name`,并将其存储在类的实例变量 `this.name` 中。还有一个方法 `eat`,它输出一个字符串表示动物正在进食。
然后我们定义了一个派生类 `Dog`,它继承了 `Animal`。该类还有一个构造函数 `constructor`,它接受两个参数 `name` 和 `breed`。我们使用 `super` 关键字调用基类的构造函数来设置 `name`,然后将 `breed` 存储在类的实例变量 `this.breed` 中。还有一个方法 `bark`,它输出一个字符串表示狗正在吠叫。
最后,我们创建了一个名为 `myDog` 的 `Dog` 类的实例,并传递了名称 `Max` 和品种 `Labrador Retriever`。我们调用了基类 `Animal` 的方法 `eat` 和派生类 `Dog` 的方法 `bark`。我们还打印出实例变量 `myDog.breed` 的值,它存储了狗的品种。
阅读全文