返回
用人话解释 JavaScript 中的类和实例,让你秒懂
前端
2024-01-15 04:21:11
类和实例:一个比喻
我们可以把类比作一个蓝图,而实例则是根据蓝图建造的房子。
- 类定义了对象的属性和方法。
- 实例是类的具体表现形式,它具有类的所有属性和方法。
举个例子,我们可以定义一个名为 Person
的类,它具有 name
和 age
两个属性,以及 greet()
和 introduce()
两个方法。
class Person {
constructor(name, age) {
this.name = name;
this.age = age;
}
greet() {
console.log(`Hello, my name is ${this.name}!`);
}
introduce() {
console.log(`My name is ${this.name} and I am ${this.age} years old.`);
}
}
现在,我们可以使用 Person
类来创建实例。
const person1 = new Person('John', 30);
const person2 = new Person('Mary', 25);
person1.greet(); // Hello, my name is John!
person2.introduce(); // My name is Mary and I am 25 years old.
构造函数
构造函数是类的一部分,当我们创建实例时,构造函数会自动执行。
构造函数的作用是初始化实例的属性和方法。
在上面的示例中,Person
类的构造函数有两个参数:name
和 age
。
当我们创建 person1
和 person2
实例时,构造函数会自动执行,并将 name
和 age
的值赋给实例的属性。
继承
继承允许我们创建一个新的类,它具有另一个类的所有属性和方法。
举个例子,我们可以创建一个名为 Student
的类,它继承了 Person
类。
class Student extends Person {
constructor(name, age, school) {
super(name, age);
this.school = school;
}
study() {
console.log(`${this.name} is studying.`);
}
}
现在,我们可以使用 Student
类来创建实例。
const student1 = new Student('John', 30, 'Harvard');
student1.greet(); // Hello, my name is John!
student1.introduce(); // My name is John and I am 30 years old.
student1.study(); // John is studying.
总结
类和实例是 JavaScript 中非常重要的概念。
- 类定义了对象的属性和方法。
- 实例是类的具体表现形式,它具有类的所有属性和方法。
- 构造函数是类的一部分,当我们创建实例时,构造函数会自动执行。
- 构造函数的作用是初始化实例的属性和方法。
- 继承允许我们创建一个新的类,它具有另一个类的所有属性和方法。
掌握这些概念,你将能够编写更清晰、更可维护的代码。