Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1683833
  • 博文数量: 210
  • 博客积分: 10013
  • 博客等级: 上将
  • 技术积分: 2322
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-25 15:56
文章分类

全部博文(210)

文章存档

2011年(34)

2010年(121)

2009年(37)

2008年(18)

我的朋友

分类: Java

2011-02-25 15:36:31

package hello;

/**
 * 工厂方法模式简单示例,其中LeiFeng类和Factory接口是最重要的,如果需要“生产”其他类型的“雷锋”只需要增加相应的类和相应的工厂
 * 这里所说的工厂,类似于实际厂房的生产线,工厂有了,只要涉及好“产品”和“产线”就可以投入使用
 * 包括6个类和接口
 * @author HZ20232
 *
 */

public class FactoryMethodPattern{
    public static void main(String args[]){
        Factory myFactory = new UndergradeFactory();
        LeiFeng under1 = myFactory.CreateLeiFeng();
        under1.Sweep();
        
        Factory myFactory2 = new VolunteerFactory();
        LeiFeng volun1 = myFactory2.CreateLeiFeng();
        volun1.Sweep();
    }
}
class LeiFeng{
    public void Sweep(){}
}
class Undergrade extends LeiFeng{
    public void Sweep(){
        System.out.println("毕业生学习雷锋做好事,扫地!");
    }
}
class Volunteer extends LeiFeng{
    public void Sweep(){
        System.out.println("志愿者学习雷锋做好事,扫地!");
    }
}
/**
 * 工厂接口
 * @author HZ20232
 *
 */

interface Factory{
    LeiFeng CreateLeiFeng();
}
class UndergradeFactory implements Factory{
    public LeiFeng CreateLeiFeng(){
        return new Undergrade();
    }
}
class VolunteerFactory implements Factory{
    public LeiFeng CreateLeiFeng(){
        return new Volunteer();
    }
}

 


 

阅读(1006) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2011-03-06 16:28:46

很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com