顾名思义,工厂模式就是类似于生活中的工厂,可以生产我们想要的东西,回到代码,假如我们需要一个实例,直接从工厂中拿即可。
eg:假如我们定义一个“球”类的接口
1 public interface Ball{2 public void sayName();3 }
此时我们再定义两个球类实现这个接口
1 public class Football implements Ball{2 public void sayName() {3 System.out.println("i am a football");4 }5 }
1 public class Basketball implements Ball{2 public void sayName() {3 System.out.println("i am a basketball ");4 }5 }
最后我们定义工厂:
1 public class BallFactory{ 2 public static Ball getBall(String ballname){ 3 Ball b = null ; 4 if("football".equals("ballname")){ 5 b=new Football(); 6 } 7 if("basketball".equals("ballname")){ 8 b=new Basketball(); 9 }10 return b;11 }12 public static void main(String[] a){13 Ball b = BallFactory.getBall("football");14 b.sayName();15 }16 }
当我们需要哪个球类时,就可以从工厂中拿了。