博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
设计模式之---工厂方法
阅读量:6117 次
发布时间:2019-06-21

本文共 955 字,大约阅读时间需要 3 分钟。

hot3.png

package com.atguigu.java;

//接口的应用:工厂方法的设计模式
//体会:面向接口编程的思想
public class FactoryMethodTest {
    public static void main(String[] args) {
        IWorkFactory factory = new StudentWorkFactory();
        Work work = factory.getWork();
        work.doWork();
        
        
        IWorkFactory factory1 = new TeacherWorkFactory();
        Work work1 = factory1.getWork();
        work1.doWork();
        
    }
}

interface IWorkFactory{//在接口中不指名到底造什么对象,在具体的实现类中才指明到底要造什么对象。
                      //若接口改为类就是很正常的返回对象的操作,这里接口我可以写成抽象类,抽象类里有抽象方法,返回值为Work
    Work getWork();
}

class StudentWorkFactory implements IWorkFactory{

    

    public Work getWork() {
        return new StudentWork();
    }
    
}

class TeacherWorkFactory implements IWorkFactory{

    
    
    public Work getWork() {
        return new TeacherWork();
    }
    
}

interface Work{

    void doWork();
}

class StudentWork implements Work{

    

    public void doWork() {
        System.out.println("学生学习,写作业!");
    }
    
}

class TeacherWork implements Work{

    

    public void doWork() {
        System.out.println("老师讲课,批作业!");
    }
    
}
 

转载于:https://my.oschina.net/architectliuyuanyuan/blog/2877739

你可能感兴趣的文章
kubernetes --> ConfigMap
查看>>
zzzObjective-C的动态特性
查看>>
dl dd dt与ul li
查看>>
记录Nginx代理的配置
查看>>
VisualSvn+TortoiseSVN的安装说明
查看>>
pycharm 快捷键
查看>>
UML类图、接口、包、关系
查看>>
CoreGraphics
查看>>
Javascript面向对象编程(二):构造函数的继承
查看>>
Android中RelativeLayout各个属性及其含义
查看>>
vue elementUI 表单校验(数组多层嵌套)
查看>>
面向对象----对象的组合和
查看>>
面板厂商掀起新一轮较量
查看>>
跟KingDZ学HTML5之十三 HTML5颜色选择器
查看>>
自定义UItextFiled,限制TextFiled 的输入长度
查看>>
checkedListBox
查看>>
网页性能优化之异步加载js文件
查看>>
css知多少(5)——选择器(转)
查看>>
对百度的评价
查看>>
5.Zookeeper的两种安装和配置(Windows):单机模式与集群模式
查看>>