用工厂模式写和demo
时间: 2023-11-14 13:02:09 浏览: 41
当使用工厂模式时,我们可以通过一个工厂函数来创建对象。下面是一个使用工厂模式创建汽车对象的示例:
```javascript
// 定义汽车对象的构造函数
function Car(brand, model, color) {
this.brand = brand;
this.model = model;
this.color = color;
}
// 定义汽车工厂函数
function CarFactory() {}
// 工厂函数的原型上定义创建汽车对象的方法
CarFactory.prototype.createCar = function(brand, model, color) {
return new Car(brand, model, color);
};
// 使用工厂函数创建汽车对象
var factory = new CarFactory();
var car1 = factory.createCar("Toyota", "Camry", "Silver");
var car2 = factory.createCar("Honda", "Civic", "Red");
console.log(car1); // 输出:Car { brand: 'Toyota', model: 'Camry', color: 'Silver' }
console.log(car2); // 输出:Car { brand: 'Honda', model: 'Civic', color: 'Red' }
```
在上面的示例中,我们定义了一个 `Car` 构造函数来表示汽车对象,它有三个属性:`brand`、`model` 和 `color`。然后,我们定义了一个 `CarFactory` 工厂函数,它的原型上有一个 `createCar` 方法,用于创建汽车对象。通过调用工厂函数的 `createCar` 方法,我们可以创建新的汽车对象。
这种工厂模式可以让我们在创建对象时封装了具体的实现细节,使得我们能够更加灵活地创建对象,并且可以在工厂函数中添加一些额外的逻辑来定制对象的创建过程。