第三章《设计模式-抽象工厂模式》
1.工厂接口
package test.my.maven.FactoryModel; public interface Person { void eat(); void water(); }
2.抽象工厂
package test.my.maven.FactoryModel; public abstract class AbstarctPerson implements Person{ public void eat(){ System.out.println("AbstarctPerson eat!!!"); } public abstract void water(); }
3.实现类
package test.my.maven.FactoryModel; public class Boy extends AbstarctPerson { @Override public void water() { System.out.println("Boy water!!!"); } }
package test.my.maven.FactoryModel; public class Girl extends AbstarctPerson { @Override public void eat() { System.out.println("Girl eat!!!"); } @Override public void water() { System.out.println("Girl water!!!"); } }
4.测试类
package test.my.maven.FactoryModel; public class TestMain { public static void main(String[] args) { Person boy = (Person) PersonFactory.getInstance(Boy.class); if(null != boy) { boy.eat(); boy.water(); } Person girl = (Person) PersonFactory.getInstance(Girl.class); if(null != girl) { girl.eat(); girl.water(); } } }
5.测试结果
AbstarctPerson eat!!!
Boy water!!!
Girl eat!!!
Girl water!!!