JavaScript 类与对象78


在 JavaScript 中,类是一种语法结构,它允许你定义对象蓝图,而对象是根据类创建的实例。类和对象是 JavaScript 中面向对象编程的基础,理解它们对于充分利用语言至关重要。

类使用 class 关键字声明,后面跟一个大写字母开头的标识符,表示类的名称。类主体包含描述类的字段和方法的代码块。例如,下面是一个定义 Person 类的示例:```javascript
class Person {
constructor(name, age) {
= name;
= age;
}
greet() {
(`Hello, my name is ${} and I am ${} years old.`);
}
}
```

constructor 方法在创建对象时被调用,用于初始化对象字段。greet 方法是一个实例方法,可以被类的任何实例调用。

对象

对象是根据类创建的实例。你可以使用 new 关键字和类的名称来创建一个新对象。例如,要创建一个 Person 对象,你可以执行以下操作:```javascript
const person1 = new Person("John", 30);
```

person1 现在是一个 Person 类的实例,它具有 name 和 age 字段,以及 greet 方法。

类成员

类成员包括字段和方法。字段是类的属性,而方法是类的行为。类成员可以通过 this 关键字访问,它引用正在执行方法的当前对象。

字段:字段是类的属性,用于存储数据。它们在构造函数中初始化,也可以在类的任何方法中访问和修改。例如,以下代码访问 person1 对象的 name 字段:```javascript
(); // 输出 "John"
```

方法:方法是类的行为,用于执行任务。它们可以在任何类实例上调用,并可以访问类的字段。例如,以下代码调用 person1 对象的 greet 方法:```javascript
(); // 输出 "Hello, my name is John and I am 30 years old."
```

继承

继承允许你创建新类(子类),这些类继承父类的字段和方法。子类可以使用 extends 关键字指定其父类。例如,以下代码定义一个 Student 类,它继承自 Person 类:```javascript
class Student extends Person {
constructor(name, age, grade) {
super(name, age); // 调用父类的构造函数
= grade;
}
study() {
("I am studying...");
}
}
```

Student 类继承了 name 和 age 字段,以及 greet 方法。它还定义了一个新的字段 grade 和一个新的方法 study。

多态

多态允许子类以不同的方式实现父类的方法。这意味着你可以创建具有不同行为的对象集合,同时仍然可以使用相同的父类接口。例如,以下代码演示了 Person 和 Student 对象如何以不同的方式实现 greet 方法:```javascript
const person2 = new Person("Jane", 40);
const student1 = new Student("Bob", 20, "A");
(); // 输出 "Hello, my name is Jane and I am 40 years old."
(); // 输出 "Hello, my name is Bob and I am 20 years old. I am a student."
```

正如你所看到的,Student 对象的 greet 方法提供了更具体的信息,表明对象是一名学生。

类和对象是 JavaScript 中面向对象编程的基础。类允许你定义对象蓝图,而对象是根据类创建的实例。类成员包括字段和方法,子类可以通过继承从父类继承字段和方法。多态允许子类以不同的方式实现父类的方法。了解类和对象对于构建健壮且可维护的 JavaScript 应用程序至关重要。

2025-01-02


上一篇:面向对象编程:类与对象(JavaScript)

下一篇:妙味课堂:解锁 JavaScript 的奥秘