接口的实际应用--工厂设计模式

/*工厂设计模式:
  主方法应该表示一个客服端,主方法代码应该越少越好。此时,直接在主方法中指定了要操作的子类
  如果要更换子类,肯定哟啊修改客服端,表示更特定的子类关系紧密耦合在一起了,需要一个过渡端
  此过渡端称为工厂设计模式。要使得客户端只负责传递参数


*/
 interface Fruit{   //定义一个水果的接口
  public void eat();  //定义一个吃的抽象方法
}


class Apple implements Fruit{    //Apple类实现Fruit接口
public void eat(){    //覆写抽象方法
System.out.println("eat Apple!");
}
};


class Orange implements Fruit{    //Orange类实现Fruit接口
public void eat(){
System.out.println("eat Orange");
}
};


class Factory{    //定义工厂类
public static Fruit getInstance(String className){    //类方法
Fruit f=null;
if("apple".equals(className)){   //最好字符在判断前
f=new Apple();
}
if("orange".equals(className)){
f=new Orange();
}
return f;
}
}; 


public class InterfaceCase03{
public static void main(String args[]){
Fruit f=Factory.getInstance(args[0]);   //判断传递的参数
 if(f!=null){  //判断是否取得实例化
 f.eat();
}
}
};


/*输入:java InterfaceCase03 apple
  输出:eat Apple!
*/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值