`
rich8w
  • 浏览: 180126 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

05_FactoryMethodPattern 雷锋工厂方法

阅读更多
雷锋接口=>雷锋工厂=>大学生雷锋工厂
雷锋接口=>雷锋工厂=>志愿者雷锋工厂


摘录语句:
1.工厂方法模式,定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。
2.工厂方法模式实现时,客户端需要决定实例化哪一个工厂来实现运算类,选择按段的问题还是存在的,也就是说,工厂方法把简单工厂的内部逻辑判断移到了客户端代码来进行。想要加功能,本来是改工厂类,而现在是修改客户端!

雷锋接口
package cn;

//雷锋接口
public interface LeiFeng {

	public void sweep();
	public void wash();
	public void buyRice();
}



雷锋工厂抽象类
package cn;

import java.util.HashMap;

//雷锋工厂
public abstract class LeiFengFactory {
	
	public abstract LeiFeng getLeiFengInstance();
}



大学生雷锋工厂类
package cn.beans;

import java.lang.instrument.ClassFileTransformer;

import cn.LeiFeng;
import cn.LeiFengFactory;

public class UndergraduateFactory extends LeiFengFactory{
	
	LeiFeng leiFeng=null;
	
	@Override
	public LeiFeng getLeiFengInstance(){
		leiFeng = new Undergraduate();
		return leiFeng;
	}

}



大学生类 实现雷锋类
package cn.beans;

import cn.LeiFeng;

public class Undergraduate implements LeiFeng {

	@Override
	public void buyRice() {
		System.out.println("学雷锋的大学生买米");
	}

	@Override
	public void sweep() {
		System.out.println("学雷锋的大学生扫地");
	}

	@Override
	public void wash() {
		System.out.println("学雷锋的大学生洗衣");		
	}

}


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics