【发布时间】:2019-03-24 12:58:43
【问题描述】:
所以我有一个练习,我需要做一个银行账户程序。纯粹的目标是让我了解 setter/getter,因此非常简单。
我想写我的私人 int money;只能通过我的公共 get/set int Money 访问;之后,我想使用一种方法,例如提款,我可以在其中提取一些钱。现在我遇到了问题,当我执行退出方法时,它告诉我:由于 Konto.Konto(int) 将 void 返回,因此无法返回。 (不是逐字逐句的解释,是我的翻译。
我从来没有将任何东西设置为无效,所以我看不出我的问题出在哪里。提前感谢您对我的帮助。
编辑:我的最终目标是,如果我按 1,我可以设置我提取的金额,并且我的系统会打印我剩下的值。所以我“给”我的方法一个提款号码,所述号码从我的初始值中减去,它返回我剩下的值。
namespace ConsoleApp1
{
class Konto
{
private int money;
public int Money
{
get
{
return this.money;
}
set
{
money = value;
}
}
public Withdraw(int money)
{
return Money - money;
}
}
}
【问题讨论】:
-
你想让
Withdraw做什么?您是否希望它仅将money设置为较小的值而不是其他值?你希望它返回任何东西吗? -
您正在返回
int,但在Withdraw函数中没有设置返回类型 -
方法必须包含:访问器(public/internal/private ecc),returning type(这是您要返回给调用您的人的数据类型方法和名称。您显然缺少返回类型;) - 编辑:访问器实际上不是强制性的,如果省略,它们将被视为 private
-
设计说明:BankAccount.Money 是只读属性的经典案例。删除
set{}部分并强制更改通过WithDraw() -
如果您想成为一名程序员,请习惯阅读编译错误并非常仔细地阅读它们。编译错误说明了什么?
标签: c#