欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

工厂方法--笔记四

程序员文章站 2022-03-10 15:10:01
...

使用原因

当client不知道要创建哪个具体类的实例,或不想再client代码中指明要具体创建的实例时,用工厂方法。
定义一个用于创建对象的接口,让其子类来决定实例化哪一个类,从而使一个类的实例化延迟到其子类。

示例

小A要开两个工厂做衣服,分别做短袖和长袖

衣服工厂抽象类

public abstract class ClothesFactory(){
	public abstract Cloth makeClothes();
}

工厂定义了统一行为,具体类来实现具体行为

短袖实现类

public class shortSleeveFactory extends ClothesFactory{
	@Override
	public Cloth makeClothes(){
		return new shortSleeve();
	}
}

长袖实现类

public class longSleeveFactory extends ClothesFactory{
	@Override
	public Cloth makeClothes{
		return new longSleeve();
	}
}

调用代码

public class Main{
	public static void main(String[] args){
		//短袖
		ClothesFactory short = new shortSleeveFactory();
		short.makeClothes.make();
		//长袖
		ClothesFactory long = new longSleeveFactory();
		long.makeClothes.make();