类与对象的理解

10 阅读1分钟

在JavaScript中,构造类和构造对象的概念也是类似的,主要区别在于如何使用 class 来定义类和如何通过 new 关键字来实例化对象。

构造类 (Class Construction):

  • 在 JavaScript 中,类 (Class) 是一种用于定义对象模板的机制,可以包含属性和方法。
  • 类的定义通过 class 关键字来完成。

构造对象 (Object Construction):

  • 创建对象是通过 new 关键字来实例化一个类。
  • 这样会调用类中的构造函数来初始化对象的属性。

示例:

// 构造类
class Dog {
    constructor(name, breed) {
        this.name = name;   // 属性:狗的名字
        this.breed = breed; // 属性:狗的品种
    }

    // 方法:狗的叫声
    bark() {
        console.log(`${this.name} says woof!`);
    }
}

// 构造对象
let myDog = new Dog("Buddy", "Golden Retriever");

// 调用对象的方法
myDog.bark();  // 输出: Buddy says woof!

解释:

  1. 构造类 (class Dog {...}) :在这里定义了一个 Dog 类,它有一个构造函数 constructor,用于初始化对象的属性 namebreed,并且定义了一个 bark 方法。
  2. 构造对象 (let myDog = new Dog(...)) :使用 new Dog("Buddy", "Golden Retriever") 创建了一个名为 myDog 的对象,这个对象基于 Dog 类,并且通过构造函数初始化了属性 namebreed

总结:

  • 构造类:通过 class 关键字定义类及其构造函数。
  • 构造对象:通过 new 关键字实例化类,创建出具体的对象。