我有一个面向对象的通用编程问题。这是来自作业,我已经写了我的答案,但我怀疑教师正在寻找什么。我正在寻找任何关于C#OOP技术用于正确实现该类的任何人的意见和建议。
问题: 用C#实现一个硬币罐。硬币罐只接受美国硬币,体积为32液量盎司。此外,该罐子有一个计数器,用于跟踪收集的总金额,并能够将计数重置为0.00美元
我的代码:
interface ICoinJar
{
int coinage
{
get;
set;
}
void resetcount();
}
static class USCoinTypes
{
//Might want to make this a static array.
public static readonly int US_CURRENCY_TYPE = 1;
public static readonly int CURRENCY_AMOUNT = 0;
public static readonly int CURRENCY_VOLUME = 1;
public static readonly int MAX_VOLUME = 32;
public enum CoinTypes
{
ONE_CENT = 0,
FIVE_CENT,
TEN_CENT,
TWENTY_FIVE_CENT
}
public static readonly int[,] CoinInfo =
{
//amount, volume
{1,5},
{5,6},
{10,3},
{25,8}
};
}
class USCoinJar : ICoinJar
{
// coinage in cents (NOT $)
public int coinage { get; set; }
public int volume { get; set; }
public USCoinJar()
{
}
//in Cents.
//Could also make this accept an array for inserting multiple coins.
public bool addcoins(int amount, int volume, USCoinTypes.CoinTypes currencytype)
{
if (this.volume + volume > USCoinTypes.MAX_VOLUME)
return false;
coinage = coinage + amount;
this.volume = this.volume + volume;
return true;
}
public void resetcount()
{
coinage = 0;
volume = 0;
}
}
答案 0 :(得分:3)
您的实施几乎没有问题:
coinage = 100000; volumne = 0;
并且你的程序会继续,好像什么都没有错。static readonly int
的值是什么,以及为什么要将它们作为数组?我可以继续,但这足以让你开始正确地了解你的真实要求以及你将如何满足它们。