通过C#实现自动售货机接口的完整攻略如下:
一、了解接口
在开始编写自动售货机接口之前,需要先了解什么是接口。接口(Interface)是一种抽象的类型,它定义了让其他程序集(Assembly)访问该程序集的功能。通过接口,可以使一个类实现多个不相关的类型。
二、创建项目
- 打开Visual Studio,创建一个新的C#控制台应用程序项目;
- 在解决方案资源管理器中,右键单击项目名称,选择添加 -> 新建项 -> 接口;
- 在弹出的对话框中,输入接口名称(例如:
IVendingMachine
),点击添加; - 在打开的接口文件中,添加自动售货机需要实现的方法(例如:
SelectItem
、InsertCoin
、ReturnCoin
、GetItem
等)。
示例代码如下:
public interface IVendingMachine
{
bool SelectItem(string item);
bool InsertCoin(double amount);
double ReturnCoin();
string GetItem();
}
三、创建自动售货机类并实现接口
- 创建自动售货机类,并实现接口中定义的方法;
- 在类中定义自动售货机需要用到的变量(例如:
_itemList
、_coinAmount
等); - 实现接口中定义的方法,完成自动售货机的具体操作。
示例代码如下:
public class VendingMachine : IVendingMachine
{
private Dictionary<string, double> _itemList;
private List<double> _coinAmount;
public VendingMachine()
{
_itemList = new Dictionary<string, double>();
_itemList.Add("Coke", 1.5);
_itemList.Add("Pepsi", 1.6);
_itemList.Add("Soda", 1.2);
_coinAmount = new List<double>();
}
public bool SelectItem(string item)
{
if (_itemList.ContainsKey(item))
{
return true;
}
else
{
return false;
}
}
public bool InsertCoin(double amount)
{
if (amount == 0.1 || amount == 0.5 || amount == 1 || amount == 2)
{
_coinAmount.Add(amount);
return true;
}
else
{
return false;
}
}
public double ReturnCoin()
{
double totalAmount = 0;
foreach(double amount in _coinAmount)
{
totalAmount += amount;
}
_coinAmount.Clear();
return totalAmount;
}
public string GetItem()
{
double totalAmount = 0;
foreach(double amount in _coinAmount)
{
totalAmount += amount;
}
if(totalAmount >= _itemList[item])
{
_coinAmount.Clear();
return item;
}
else
{
return null;
}
}
}
四、使用自动售货机类
- 在程序中使用自动售货机类,并实例化一个对象;
- 调用自动售货机类中定义的方法,完成自动售货机的操作。
示例代码如下:
static void Main(string[] args)
{
VendingMachine vendingMachine = new VendingMachine();
bool isSuccess = vendingMachine.SelectItem("Coke");//选择物品
if(isSuccess)
{
isSuccess = vendingMachine.InsertCoin(1);//插入硬币
if(isSuccess)
{
double change = vendingMachine.ReturnCoin(); //退还硬币
string item = vendingMachine.GetItem(); //获取物品
Console.WriteLine("Change:{0}, Item:{1}", change, item);
}
}
}
以上就是通过C#实现自动售货机接口的完整攻略,希望对您有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:通过C#实现自动售货机接口 - Python技术站