zoukankan      html  css  js  c++  java
  • JavaSE-接口之工厂方法的设计

    package com.btp.t2;
    /*
     * 工厂方法的设计模式
     * 概述:定义一个用于创建对象的接口,让子类决定实例化哪一个类。使一个类的实例化延迟到其子类。
     * 
     * 适用性:1.当一个类不知道他所必须创建的对象的类的时候
     *        2.当一个类希望由它的子类来指定它所创建的对象的时候
     *        3.当类将创建对象的职责委托给多个帮助子类中的某一个,并且你希望将那一个帮助子类是
     *        代理者这一信息局部化的时候
     */
    public class TestFactoryMethod {
    
    	public static void main(String[] args) {
    		
    		IWorkFactory i=new StudentWorkFactory();
    		i.getWork().doWork();
    		
    		IWorkFactory i1=new TeacherWorkFactory();
    		i1.getWork().doWork();
    	}
    
    }
    
    interface IWorkFactory{//用于创建对象的接口
    	Work getWork();
    }
    
    //由StudentWorkFactory和TeacherWorkFactory来决定实例化哪一个类
    class StudentWorkFactory implements IWorkFactory{
    
    	@Override
    	public Work getWork() {
    		// TODO 自动生成的方法存根
    		return new StudentWork();
    	}
    	
    }
    
    class TeacherWorkFactory implements IWorkFactory{
    
    	@Override
    	public Work getWork() {
    		// TODO 自动生成的方法存根
    		return new TeacherWork();
    	}
    	
    }
    
    interface Work
    {
    	void doWork();
    }
    
    class StudentWork implements Work
    {
    
    	@Override
    	public void doWork() {
    		// TODO 自动生成的方法存根
    		System.out.println("学生写作业");
    	}
    	
    }
    
    class TeacherWork implements Work
    {
    
    	@Override
    	public void doWork() {
    		// TODO 自动生成的方法存根
    		System.out.println("老师批改作业");
    	}
    	
    }
    

      

  • 相关阅读:
    hibernate入门
    struts文件上传
    Struts的增删改查
    struts入门
    Maven配置以及环境搭配
    layui增删改查
    easyui三
    A
    C. Permutation Cycle
    E
  • 原文地址:https://www.cnblogs.com/a842297171/p/5153590.html
Copyright © 2011-2022 走看看