封装算法
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace DesignPytternDemo
{
/// <summary>
/// 策略模式
/// </summary>
public abstract class BaseStategy
{
public virtual int GetTicketPrice(int price)
{
return price;
}
}
public class CommonPersonStrategy : BaseStategy
{
public override int GetTicketPrice(int price)
{
return base.GetTicketPrice(price);
}
}
public class StudentStrategy : BaseStategy
{
public override int GetTicketPrice(int price)
{
return price / 2;
}
}
public class Context
{
private BaseStategy _context;
public Context(string personType)
{
switch (personType)
{
case "c":
_context = new CommonPersonStrategy();
break;
case "s":
_context = new StudentStrategy();
break;
default:
break;
}
}
public int GetTicketPrice(int price)
{
return this._context.GetTicketPrice(price);
}
}
} 以上就是C# 设计模式之 策略模式 示例的内容,更多相关内容请关注PHP中文网(www.php.cn)!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号