设计模式笔记--简单工厂模式
2013-04-06 23:55
501 查看
饮料的抽象类:
package com.netboy.demo;
/**
* @功能: 饮料的抽象类,所有子类必须实现taste方法
* @版本号:
* @作者: netboy Email:wang_lin_n@163.com
* @时间: 2013-4-6 下午11:11:55
* @例子:
*/
public abstract class Water {
public abstract void taste();
}
咖啡类:
public class Coffee extends Water {
@Override
public void taste() {
System.out.println("咖啡,可以提神,喝多容易上火");
}
}
奶茶类:
public class MilkTea extends Water {
@Override
public void taste() {
System.out.println("奶茶,记住大多妹纸是喜欢喝奶茶的");
}
}荞麦茶类:
public class BuckWheatTea extends Water {
@Override
public void taste() {
System.out.println("荞麦茶,多喝有益于健康");
}
}
工厂类:饮料机
package com.netboy.demo;
/**
* @功能: 饮料机,为你生产你指定的饮料
* @版本号:
* @作者: netboy Email:wang_lin_n@163.com
* @时间: 2013-4-6 下午11:21:23
* @例子:
*/
public class DrinkFactory {
public static Water createDrink(Class c) {
Water water = null;
try {
water = (Water)Class.forName(c.getName()).newInstance();
} catch(InstantiationException e) {
System.out.println("必须指定那种饮料");
e.printStackTrace();
} catch(IllegalAccessException e) {
System.out.println("错误的饮料名称");
e.printStackTrace();
} catch(ClassNotFoundException e) {
System.out.println("暂时没有这种饮料");
e.printStackTrace();
}
return water;
}
}
实现饮料机价值的员工类:
package com.netboy.demo;
/**
* @功能: 员工福利,免费使用饮料机,饮料机提供奶茶、咖啡、荞麦茶
* @版本号:
* @作者: netboy Email:wang_lin_n@163.com
* @时间: 2013-4-6 下午11:07:11
* @例子:
*/
public class Staff {
public static void main(String[] args) {
System.out.println("hello,this is factory pattern demo");
//hi,饮料机,来杯咖啡
Water coffe = DrinkFactory.createDrink(Coffee.class);
coffe.taste();
//hi,饮料机,来杯奶茶
Water milkTea = DrinkFactory.createDrink(MilkTea.class);
milkTea.taste();
//hi,饮料机,来杯荞麦茶
Water buckWheatTea = DrinkFactory.createDrink(BuckWheatTea.class);
buckWheatTea.taste();
}
}
运行结果如下:
****************************************************************************************
****************************************************************************************
package com.netboy.demo;
/**
* @功能: 饮料的抽象类,所有子类必须实现taste方法
* @版本号:
* @作者: netboy Email:wang_lin_n@163.com
* @时间: 2013-4-6 下午11:11:55
* @例子:
*/
public abstract class Water {
public abstract void taste();
}
咖啡类:
public class Coffee extends Water {
@Override
public void taste() {
System.out.println("咖啡,可以提神,喝多容易上火");
}
}
奶茶类:
public class MilkTea extends Water {
@Override
public void taste() {
System.out.println("奶茶,记住大多妹纸是喜欢喝奶茶的");
}
}荞麦茶类:
public class BuckWheatTea extends Water {
@Override
public void taste() {
System.out.println("荞麦茶,多喝有益于健康");
}
}
工厂类:饮料机
package com.netboy.demo;
/**
* @功能: 饮料机,为你生产你指定的饮料
* @版本号:
* @作者: netboy Email:wang_lin_n@163.com
* @时间: 2013-4-6 下午11:21:23
* @例子:
*/
public class DrinkFactory {
public static Water createDrink(Class c) {
Water water = null;
try {
water = (Water)Class.forName(c.getName()).newInstance();
} catch(InstantiationException e) {
System.out.println("必须指定那种饮料");
e.printStackTrace();
} catch(IllegalAccessException e) {
System.out.println("错误的饮料名称");
e.printStackTrace();
} catch(ClassNotFoundException e) {
System.out.println("暂时没有这种饮料");
e.printStackTrace();
}
return water;
}
}
实现饮料机价值的员工类:
package com.netboy.demo;
/**
* @功能: 员工福利,免费使用饮料机,饮料机提供奶茶、咖啡、荞麦茶
* @版本号:
* @作者: netboy Email:wang_lin_n@163.com
* @时间: 2013-4-6 下午11:07:11
* @例子:
*/
public class Staff {
public static void main(String[] args) {
System.out.println("hello,this is factory pattern demo");
//hi,饮料机,来杯咖啡
Water coffe = DrinkFactory.createDrink(Coffee.class);
coffe.taste();
//hi,饮料机,来杯奶茶
Water milkTea = DrinkFactory.createDrink(MilkTea.class);
milkTea.taste();
//hi,饮料机,来杯荞麦茶
Water buckWheatTea = DrinkFactory.createDrink(BuckWheatTea.class);
buckWheatTea.taste();
}
}
运行结果如下:
****************************************************************************************
****************************************************************************************
相关文章推荐
- 设计模式笔记 简单工厂,抽象工厂,工厂
- 设计模式学习笔记一 简单工厂策略模式实现销售策略的变更(一)
- 设计模式心得笔记--简单工厂和策略模式
- 设计模式学习笔记三:简单工厂(Simple Factory)
- 设计模式学习笔记——简单工厂(Simple Factory)
- 设计模式学习笔记三:简单工厂(Simple Factory)
- 【设计模式】学习笔记4:简单工厂模式(Simple Factory)
- 设计模式笔记---简单工厂
- 设计模式学习笔记(二)--简单工厂模式
- 学习设计模式笔记--简单工厂
- 一 简单工厂模式——设计模式学习笔记
- 设计模式笔记1 - 简单工厂 和 工厂模式理解以及使用
- 设计模式心得笔记--简单工厂
- 设计模式心得笔记--简单工厂
- 设计模式学习笔记(一) 简单工厂
- 2.[研磨设计模式笔记]简单工厂
- java设计模式笔记之简单工厂
- 设计模式学习笔记二:简单工厂模式
- 设计模式学习笔记二:简单工厂模式
- java设计模式学习笔记-简单工厂模式