设计模式之工厂方法 代码示例
2011-12-19 16:27
696 查看
/**
* 水果
* @author Administrator
*
*/
public interface Fruit {
/**
* 获取水果的味道
*/
public void getTaste();
}
/**
* 水果中的苹果
* @author Administrator
*
*/
public class Apple implements Fruit{
/**
* 获取苹果的味道
*/
@Override
public void getTaste() {
System.out.println("苹果吃起来又香又甜");
}
}
/**
* 水果中的葡萄
* @author Administrator
*
*/
public class Grape implements Fruit{
/**
* 获取葡萄的味道
*/
@Override
public void getTaste() {
System.out.println("葡萄吃起来又酸又甜");
}
}
/**
* 生产水果的工厂
* @author Administrator
*
*/
public interface IFruitFactory {
/**
* 生产水果的方法
* @return
*/
public Fruit product();
}
/**
* 生产苹果的工厂
* @author Administrator
*
*/
public class AppleFactory implements IFruitFactory{
/**
* 生产苹果的方法
*/
@Override
public Fruit product() {
return new Apple();
}
}
/**
* 生产葡萄的工厂
* @author Administrator
*
*/
public class GrapeFactory implements IFruitFactory {
/**
* 生产葡萄的方法
*/
@Override
public Fruit product() {
return new Grape();
}
}
/**
* 工厂方法测试类
* @author Administrator
*
*/
public class TestFactoryMethod {
public static void main(String[] args) {
IFruitFactory appleFactory=new AppleFactory();
//生产苹果
Fruit apple=appleFactory.product();
IFruitFactory grapeFactory=new GrapeFactory();
//生产葡萄
Fruit grape=grapeFactory.product();
apple.getTaste();
grape.getTaste();
}
}
程序运行结果如下:
苹果吃起来又香又甜
葡萄吃起来又酸又甜
* 水果
* @author Administrator
*
*/
public interface Fruit {
/**
* 获取水果的味道
*/
public void getTaste();
}
/**
* 水果中的苹果
* @author Administrator
*
*/
public class Apple implements Fruit{
/**
* 获取苹果的味道
*/
@Override
public void getTaste() {
System.out.println("苹果吃起来又香又甜");
}
}
/**
* 水果中的葡萄
* @author Administrator
*
*/
public class Grape implements Fruit{
/**
* 获取葡萄的味道
*/
@Override
public void getTaste() {
System.out.println("葡萄吃起来又酸又甜");
}
}
/**
* 生产水果的工厂
* @author Administrator
*
*/
public interface IFruitFactory {
/**
* 生产水果的方法
* @return
*/
public Fruit product();
}
/**
* 生产苹果的工厂
* @author Administrator
*
*/
public class AppleFactory implements IFruitFactory{
/**
* 生产苹果的方法
*/
@Override
public Fruit product() {
return new Apple();
}
}
/**
* 生产葡萄的工厂
* @author Administrator
*
*/
public class GrapeFactory implements IFruitFactory {
/**
* 生产葡萄的方法
*/
@Override
public Fruit product() {
return new Grape();
}
}
/**
* 工厂方法测试类
* @author Administrator
*
*/
public class TestFactoryMethod {
public static void main(String[] args) {
IFruitFactory appleFactory=new AppleFactory();
//生产苹果
Fruit apple=appleFactory.product();
IFruitFactory grapeFactory=new GrapeFactory();
//生产葡萄
Fruit grape=grapeFactory.product();
apple.getTaste();
grape.getTaste();
}
}
程序运行结果如下:
苹果吃起来又香又甜
葡萄吃起来又酸又甜
相关文章推荐
- 设计模式之工厂方法模式及代码示例
- 设计模式之抽象工厂 代码示例
- Java设计模式笔记之抽象工厂代码示例
- Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---工厂模式之工厂方法
- 设计模式示例一 Factory Method(工厂方法)
- 设计模式之工厂模式代码示例
- 设计模式之工厂模式代码示例
- 设计模式示例一 Factory Method(工厂方法)
- 设计模式讲解与代码实践(三)——工厂方法
- PYTHON设计模式,创建型之工厂方法模式
- 设计模式——工厂方法 FactoryMethod
- 用简单工厂方法设计的数据库查询(JAVA代码实现)
- 设计模式讲解与代码实践(二十三)——模板方法
- 设计模式之工厂方法模式
- 设计模式之工厂模式(简单工厂,工厂方法,抽象工厂)
- Java设计模式之工厂方法模式
- 设计模式——简单工厂(又叫静态工厂方法,不属于GOF23中设计模式)
- 设计模式--工厂方法
- Java设计模式---工厂模式(简单工厂、工厂方法、抽象工厂)
- 设计模式之工厂方法和抽象工厂