JavaScript 工厂方法创建对象


在 JavaScript 中,可以使用工厂方法(Factory Method)创建对象。工厂方法是一种创建对象的设计模式,它通过一个函数来封装对象的创建过程,并返回新创建的对象。

下面是一个简单的示例,演示如何使用工厂方法创建对象:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// 定义一个工厂方法
function createPerson(name, age) {
// 创建一个新对象
var person = {};

// 添加属性和方法到对象
person.name = name;
person.age = age;
person.sayHello = function() {
console.log("Hello, my name is " + this.name + " and I'm " + this.age + " years old.");
};

// 返回创建的对象
return person;
}

// 使用工厂方法创建对象
var john = createPerson("John", 25);
var mary = createPerson("Mary", 30);

// 调用对象的方法
john.sayHello(); // 输出:Hello, my name is John and I'm 25 years old.
mary.sayHello(); // 输出:Hello, my name is Mary and I'm 30 years old.

在上面的示例中,createPerson 是一个工厂方法,它接受参数 name 和 age,并返回一个包含这些属性和方法的新对象。通过调用 createPerson 方法,我们可以创建多个具有相同结构和行为的对象。

使用工厂方法创建对象的好处是可以封装对象的创建逻辑,并提供一种统一的方式来创建对象。这样可以简化对象的创建过程,并且在需要时可以对创建过程进行扩展和修改,而不必改变使用对象的代码。

需要注意的是,工厂方法创建的对象是独立的,每个对象都拥有自己的属性和方法。这与使用原型继承创建的对象不同,后者可以共享同一个原型对象的属性和方法。根据实际需求和设计考虑,可以选择适合的对象创建方式。