c# - 如何编写单个构造函数方法将两个字段设置为特定值
问题描述
我正在学习用 c# 编写构造函数和属性,并被要求编写控制台应用程序和类来操作饮料机。我编写了部分类代码,但遇到了问题。许多代码块之一要求一个构造函数方法,该方法从SodaCanCount
5 瓶开始并将CustBalance
字段设置为零。我不知道这个构造函数应该是什么样子。我具体说的private sodaVandorClass()
是两个私有字段下的 , 。
到目前为止,我写了我能写的,没有错误,但是SodaVendorClass
看起来不正确。
namespace VendorClass
{
public class SodaVendorClass
{
// members
// fields
//Customer balance is $0 until the customer inserts a dollar
//All customer entries are one dollar increments and a soda costs one dollar.
private int CustBalance = 0;
//a machine holds 10 cans of soda
private int SodaCanCount = 5;
//A soda costs 1 dollar
//private int sodaCost = 1;
public int _SodaCanCount
{
get
{
return SodaCanCount;
}
}
public int _CustBalance
{
get
{
return CustBalance;
}
}
public int BuySoda(int pCustBalance, int SodaCanCount)
{
return SodaCanCount;
}
public void AcceptCash(int CustBalance)
{
CustBalance++;
}
public int GiveRefund(int pCustBalance)
{
return CustBalance;
}
}
我只想看一个为我的私有类字段设置默认值的构造函数示例。任何帮助将不胜感激。
解决方案
此类的构造函数可能如下所示:
public SodaVendorClass () {
}
那将是一个什么都不做的空构造函数。
要设置您想要的两个值,您可以添加一些参数:
public SodaVendorClass (int customerBalance, int sodaCount) {
this.CustBalance = customerBalance;
this.SodaCanCount = sodaCount;
}
要使用 5 个汽水罐和 0 客户余额创建此类的实例,您可以在代码中调用构造函数,如下所示:
var vendor = new SodaVendorClass(0, 5);
推荐阅读
- java - 如何在itext 7中将html转换为pdf时仅获得某些页面的横向?
- c - 在乘以 uint64 * uint64 时获取 uint64 超过其限制的次数
- angular - Angular Mat 对话框单元测试:This.dialogref.updatesize 不是函数
- ios - iOS 13 页面上的圆角
- python - ModuleNotFoundError:没有名为“_sysconfigdata_m_darwin_darwin”的模块
- perforce - 在与取消搁置存在冲突后,perforce 是否会安排解决?
- r - 在R中对具有指定逻辑的列进行分组
- reactjs - 尝试使用 react-redux 调度操作时,“PropsWithChildren”类型上不存在 Prop
- python - 用户输入表单字段后如何运行python函数
- python - 从数组中查找 3 个连续缺失的整数