第三章《设计模式-抽象工厂模式》

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!!!

posted @ 2018-03-11 12:00  聊聊IT那些事  阅读(88)  评论(0)    收藏  举报