课程咨询 :0592-5903858 QQ:1079585464

厦门达内java培训

厦门Java培训 > 达内新闻 > 达内:Java设计模式中的工厂方法
  • 达内:Java设计模式中的工厂方法

    发布:厦门Java培训      来源:慕课网      时间:2016-04-07


  •     厦门达内java培训专家讲一下Java设计模式中的工厂方法。

    一、工厂方法
     
        定义:利用工厂类,对实现同一接口的不同类进行实例的创建。也就是根据不同的需求,创建不同的子类对象。

        现在有一个基类Anim,有一个AnimFactory工厂类,所有实现了Anim的子类都通过AnimFactory来创建:


    public interface Anim {
        void eat();
    }public class Bird implements Anim {
        @Override
        public void eat() {
            System.out.println("Bird start eating");
        }
    }public class Fish implements Anim {

        @Override
        public void eat() {
            System.out.println("Fish start eating");
        }
    }public class AnimFactory {
        public static final int FISH = 0x01;
        public static final int BIRD = 0x02;

        public static Anim createAnim(int animType) {
            Anim anim = null;
            switch (animType) {
                case FISH:
                    anim = new Fish();
                    break;

                case BIRD:
                    anim = new Bird();
                    break;

                default:
                    break;
            }

            return anim;
        }

        public static final void main(String[] args) {
            AnimFactory.createAnim(AnimFactory.BIRD).eat();
            AnimFactory.createAnim(AnimFactory.FISH).eat();
        }
    }


    输出结果:


    Bird start eating
    Fish start eating


        当然,我们还可以将AnimFactory 创建为基类,实现多个AnimFactory 子类,分别通过每个AnimFactory 子类创建对应的Anim 子类对象,在此就不一一诉说了。

    二、jdk中的工厂方法
     
    java.lang.Object.toString()
    java.lang.Boolean.valueOf(String)




    本文由慕课网 ifynn原创 ,原文链接:http://www.imooc.com/article/6155
    推荐文章

上一篇:达内:Java设计模式中的抽象工厂

下一篇:达内举办春季专场招聘会广州专场

最新开班日期  |  更多

Java--大数据周末班

Java--大数据周末班

开班日期:每周一

Java--大数据全日制班

Java--大数据全日制班

开班日期:每周一

Java--零基础周末班

Java--零基础周末班

开班日期:每周一

Java--零基础全日制班

Java--零基础全日制班

开班日期:每周一

  • 地址:厦门软件园二期望海路59号之一401达内科技
  • 课程培训电话:0592-5903858 QQ:1079585464     全国服务监督电话:400-827-0010
  • 服务邮箱 ts@tedu.cn
  • 2001-2016 达内时代科技集团有限公司 版权所有 京ICP证8000853号-56