JAVA设计模式实战---工厂模式!!!
2016-02-08 16:25
423 查看
JAVA设计模式实战---工厂模式!!!
package IMF;
public class DesignPatternFactoryOps {
public static void main(String[] args) {
Fruit f=null;
f=FruitFactory.getInstance("Pairs"); //要一个Pairs,工厂就生产一个Pairs
if(f !=null){
f.eat(); //Pairs的吃法
}
f=FruitFactory.getInstance("Apple");//要一个Apple,工厂就生产一个Apple
if(f !=null){
f.eat(); //Apple的吃法
}
}
}
interface Fruit { //水果接口
public void eat();
}
class Apple implements Fruit{
@Override
public void eat() { //苹果的吃法
// TODO Auto-generated method stub
System.out.println("Eat an Apple");
}
}
class Pairs implements Fruit{
@Override
public void eat() { //Pairs 的吃法
// TODO Auto-generated method stub
System.out.println("Eat a Pairs");
}
}
class FruitFactory{ //定义一个工厂
public static Fruit getInstance(String fruit){ //getInstance方法
Fruit f=null;
if ("Apple".equals(fruit)){
f=new Apple(); //新建一个苹果
}
if("Pairs".equals(fruit)){
f=new Pairs(); //新建一个Pairs
}
return f;
}
}
运行结果
Eat a Pairs
Eat an Apple
package IMF;
public class DesignPatternFactoryOps {
public static void main(String[] args) {
Fruit f=null;
f=FruitFactory.getInstance("Pairs"); //要一个Pairs,工厂就生产一个Pairs
if(f !=null){
f.eat(); //Pairs的吃法
}
f=FruitFactory.getInstance("Apple");//要一个Apple,工厂就生产一个Apple
if(f !=null){
f.eat(); //Apple的吃法
}
}
}
interface Fruit { //水果接口
public void eat();
}
class Apple implements Fruit{
@Override
public void eat() { //苹果的吃法
// TODO Auto-generated method stub
System.out.println("Eat an Apple");
}
}
class Pairs implements Fruit{
@Override
public void eat() { //Pairs 的吃法
// TODO Auto-generated method stub
System.out.println("Eat a Pairs");
}
}
class FruitFactory{ //定义一个工厂
public static Fruit getInstance(String fruit){ //getInstance方法
Fruit f=null;
if ("Apple".equals(fruit)){
f=new Apple(); //新建一个苹果
}
if("Pairs".equals(fruit)){
f=new Pairs(); //新建一个Pairs
}
return f;
}
}
运行结果
Eat a Pairs
Eat an Apple
相关文章推荐
- java项目经验总结之自定义异常类
- java 变长參数使用原则
- JAVA设计模式实战---代理模式!!!
- java学习--jvm内存初学
- java 双向链表实现序列
- Mybatis-Spring SqlSessionTemplate 源码解析
- 安装Eclipse for MAC 苹果版
- javaweb导出Excel数据与图片
- eclipse启动报错
- eclipse在Android xml布局中提示
- java的13种核心技术
- Java中HashMap遍历的两种方式
- eclipse配置安卓环境(mac系统)
- JAVA 内部类、外部类、继承、抽象类、接口实战
- spring ioc 容器概念
- Java中的设计模式
- 10. mybatis 高级: 整合spring
- Java多线程编程总结 java 1.6版
- springMvc 可传入的参数
- SpringMVC +hibernate4 集合中的疑问