设计模式之(策略模式)(C#实现)(程杰)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了设计模式之(策略模式)(C#实现)(程杰),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1383字,纯文字阅读大概需要2分钟。
内容图文
![设计模式之(策略模式)(C#实现)(程杰)](/upload/InfoBanner/zyjiaocheng/742/5b4bec4183d34677a301678e0b800699.jpg)
abstract class CashSuper //定义一个抽象类
{
public abstract double acceptCash(double money);
}
class CashRebate:CashSuper
{
private double moneyRebate=0.0d;
public CashRebate(string moneyRebate)
{
this.moneyRebate=double.Parse(moneyRebate);//把几折数据保存到对象字段中
}//实现父类方法
public override double acceptCash(double money) //参数是价钱
{
return money*moneyRebate;
}
}
//正常收费的子类
class CashNormal:CashSuper
{
public override double acceptCash(double money)
{
return money;
}
}
class CashReturn:CahSuper
{
private double moneyCondition=0.0d;
private double moneyReturn=0.0d;
public CashReturn(string moneyCondition,string moneyReturn)
{
this.moneyCondition=moneyCondition;
this.moneyReturn=moneyReturn;
}
public override double acceptCash(double money)
{
double result=money;
if(money>moneyCondition)
{
result=money-Math.Floor(money/moneyCondition)*moneyReturn;
}
return result;
}
}
//策略类
class Context
{
private CashSuper cash;
public Context(CashSuper cash)
{
this.cash=cash;
}
public double acceptCash(double money)
{
cash.acceptCash(money)
}
}
客户端进行调用://应用了某一种策略
Context context=null;
context=new Context(new CashReturn(a.Text,b.Text));
context.acceptCash(c.Text);
策略模式的附图以后:
转载于:https://www.cnblogs.com/slove/archive/2012/07/16/2594360.html
内容总结
以上是互联网集市为您收集整理的设计模式之(策略模式)(C#实现)(程杰)全部内容,希望文章能够帮你解决设计模式之(策略模式)(C#实现)(程杰)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。