在ES6中,可以使用class
关键字来定义类,使用extends
关键字来实现继承。下面是一个示例:
js
// 父类
class Parent {
constructor(name) {
this.name = name;
}
sayHello() {
console.log(`Hello, my name is ${this.name}`);
}
}
// 子类
class Child extends Parent {
constructor(name, age) {
super(name); // 调用父类的构造函数
this.age = age;
}
sayHello() {
// 调用父类的方法
super.sayHello();
console.log(`I am ${this.age} years old`);
}
}
const child = new Child('Alice', 25);
child.sayHello(); // 输出: Hello, my name is Alice
// I am 25 years old
在这个例子中,Child
类继承了Parent
类的所有属性和方法,并且通过super
关键字调用了父类的构造函数以及sayHello
方法。这样,Child
类就拥有了父类的特性,同时也能够被子类进一步扩展或重写。
需要注意的是,在子类的构造函数中,必须先通过super
调用父类的构造函数,才能够使用this
关键字来访问子类的属性和方法。