在面向对象的编程中,工厂模式是一种经常被使用到的模式。根据工厂模式实现的类可以根据提供的数据生成一组类中某一个类的实例,通常这一组类有一个公共的抽象父类并且实现了相同的方法,但是这些方法针对不同的数据进行了不同的操作。
工厂模式的原理为了理解工厂模式是如果工作的,让我们来看一下图一:
图1 工厂模式的工作原理在图1中,X是基类,Xy和Xz继承了X类。而工厂类能够根据程序传递给它的数据决定生成那 一个子类的实例。在右边定义了一个getClass方法,该方法需要参数a并返回一个X类的实例。对于程序员来说,返回的究竟是Xy还是Xz的实例并不重 要,因为它们有相同的方法,只不过这些方法的内部实现不同罢了。