首页 > 其他 > 详细

设计模式-工厂方法模式

时间:2019-08-16 11:06:32      阅读:68      评论:0      收藏:0      [点我收藏+]
  1. 定义
    工厂方法模式定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法让类把实例化推迟到子类。
  2. 代码实例

    abstract class AbstractPersonFactory {
    
        private Person person;
    
        // 工厂方法,在具体子类实现
        abstract public Person createPerson();
    
        public void boo() {
            // 具体类型由工厂方法指定
            person = createPerson();
            person.foo();
        }
    }
    
    /**
     * 工厂子类
     */
    class StudentFactory extends AbstractPersonFactory {
    
        // 决定创建的对象
        @Override
        public Person createPerson() {
            return new Student();
        }
    
        // 测试
        public static void main(String[] args) {
            StudentFactory studentFactory = new StudentFactory();
            studentFactory.boo();
        }
    }
    
    
    class Person {
        public void foo() {
            System.out.println("I am a person");
        }
    }
    
    class Teacher extends Person {
        @Override
        public void foo() {
            System.out.println("I am a teacher");
        }
    }
    
    class Student extends Person {
        @Override
        public void foo() {
            System.out.println("I am a student");
        }
    }

设计模式-工厂方法模式

原文:https://www.cnblogs.com/bosslv/p/11361955.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!