以生产电脑为例。
1、创建电脑父类,父类中有显卡和处理器属性(提供get/set方法)。
2、创建不同的电脑子类继承父类,子类中提供构造方法,如苹果电脑,联想电脑。
3、创建电脑工厂的父类接口,接口中提供构造器,安装显卡,安装处理器和生产电脑的方法。
4、创建不同电脑工厂实现父类接口,工厂中有属性电脑,并且不同的电脑工厂提供不同的方法返回该电脑属性。重写安装显卡和安装处理处理器的方法。举例苹果电脑工厂,工厂内部有一个电脑属性,构造器中即实例化电脑属性为苹果电脑,有一个返回电脑的方法,方法内部返回工厂内部的电脑属性。安装显卡的方法则为设置电脑的显卡属性,安装处理器的方法则为设置电脑的处理器属性。
5、创建一个生产电脑的主管,主管提供一个生产电脑的方法,方法传值为电脑工厂,方法内部调用电脑工厂的安装显卡安装显示器的方法,并返回电脑工厂的返回电脑的方法。
5、当需要生产苹果电脑时,先实例化生产电脑的主管,调用主管的生产电脑的方法,方法传值为实例化的苹果电脑工厂,这时苹果电脑工厂构造器内部即实现了苹果电脑的子类对象,返回电脑主管生产电脑的方法的返回值即为苹果电脑了。