抽象工厂模式

抽象工厂模式是一种比较常见的模式。

定义:为创建一组相关或相互依赖的对象提供一个接口,而且无需指定它们的具体类。

其通用类图如下图所示

实例讲解抽象工厂模式。

女娲造人类图

实例代码如下:


//工厂接口定义生产三种肤色的人种
public interface HumanFactory {

	//创建黄色人种方法
	public Human createYellowHuman();

	//创建黑色人种方法
	public Human createBlackHuman();

	//创建白色人种方法
	public Human createWhiteHuman();

}

//创建女性人种
public class FemakeFactory implement HumanFactory {
	
	//创建黄色女性人种
	public Human createYellowHuman() {
		rerurn new FemakeYellowHuman();
	}

	//创建黑色女性人种
	public Human createBlackHuman() {
		rerurn new FemakeBlackHuman();
	}
	
	//创建白色女性人种
	public Human createWhiteHuman() {
		rerurn new FemakeWhiteHuman();
	}

}

//创建男性人种
public class MakeFactory implement HumanFactory {

	//创建黄色男性人种
	public Human createYellowHuman() {
		rerurn new MakeYellowHuman();
	}

	//创建黑色男性人种
	public Human createBlackHuman() {
		rerurn new MakeBlackHuman();
	}
	
	//创建白色男性人种
	public Human createWhiteHuman() {
		rerurn new MakeWhiteHuman();
	}
}



//人种接口
public interface Human {

	public void getColor();

	public void talk();

	public void getSex();	
}

//黄色人种抽象类
public abstract class AbsYellowHuman implement Human {
	
	public void getColor() {

	}

	public void talk() {

	}

}

//黄色女性人种类
public class FemaleYellowHuman extends AbsYellowHuman {
	
	public void geSex() {

	}
}

//黄色男性人种类
public class MaleYellowHuman extends AbsYellowHuman {

	public void getSex() {

	}
}

//黑色人种抽象类
public abstract class BlackHuman implement Human {
	
	public void getColor() {

	}

	public void talk() {

	}

}

//黑色女性人种类
public class FemaleBlackwHuman extends AbsBlackHuman {
	
	public void geSex() {

	}
}

//黑色男性人种类
public class MaleBlackHuman extends AbsBlackHuman {

	public void getSex() {

	}
}

//白色人种抽象类
public abstract class WhiteHuman implement Human {
	
	public void getColor() {

	}

	public void talk() {

	}
}

//白色女性人种类
public class FemaleWhitewHuman extends AbsWhiteHuman {
	
	public void geSex() {

	}
}

//白色男性人种类
public class MaleWhiteHuman extends AbsWhiteHuman {

	public void getSex() {

	}
}




 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值