返回
强势登场:ES6 的 Class 与继承原理
前端
2023-11-21 15:40:49
ES6 Class 简介
ES6 引入了 Class 的概念,这是一种类似于传统编程语言中的类,用于创建对象。Class 具有以下特点:
- **class ** 用于定义类。
- 构造函数: 每个类都必须有一个构造函数,用于创建对象实例。构造函数中的参数列表决定了对象实例的属性。
- 实例方法: 类可以定义实例方法,用于在对象实例上执行操作。实例方法在类中定义,并在对象实例上调用。
- 静态方法: 类还可以定义静态方法,静态方法与实例方法不同,静态方法属于类本身,而不属于任何对象实例。静态方法在类中定义,并在类本身上调用。
ES6 继承
ES6 中的继承通过 extends 实现。extends 关键字用于指定一个类继承自另一个类。继承自另一个类的类称为子类,被继承的类称为父类。
子类继承父类的所有属性和方法,并可以扩展或重写父类的方法。子类还可以定义自己的属性和方法。
实例
// 定义一个父类 Person
class Person {
constructor(name, age) {
this.name = name;
this.age = age;
}
// 定义一个实例方法
greet() {
console.log(`Hello, my name is ${this.name} and I am ${this.age} years old.`);
}
}
// 定义一个子类 Student
class Student extends Person {
constructor(name, age, major) {
super(name, age); // 调用父类的构造函数
this.major = major;
}
// 重写父类的方法
greet() {
console.log(`Hello, my name is ${this.name} and I am ${this.age} years old. I am a student majoring in ${this.major}.`);
}
}
// 创建一个 Person 对象
const person = new Person('John', 30);
// 创建一个 Student 对象
const student = new Student('Jane', 20, 'Computer Science');
// 调用对象的方法
person.greet();
student.greet();
结论
ES6 中的 Class 和继承提供了面向对象编程的特性,使 JavaScript 代码更加结构化和易于维护。通过本指南,您已经对 ES6 的 Class 和继承原理有了深入的了解。希望本指南对您有所帮助。