簡體   English   中英

帶有設置者和獲取者的銀行帳戶

[英]Bank account with setters and getters

所以我有一個練習,需要做一個銀行帳戶程序。 純粹的目標是讓我理解設置者/獲取者,因此非常簡單。

我想寫我私人的int錢; 僅可通過我的公共get / set int Money訪問; 有了這些之后,我想使用一種方法,例如提款,從中提款。 現在我遇到了問題,當我執行我的withdraw方法時,它告訴我:由於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;
        }

    }
}

您在Withdrawal方法上缺少返回類型。 它應該是

public int Withdrawal(int money)
{
   //you weren't setting the money variable to the new amount
   Money -= money;
   return Money;
}

在C#中,僅類構造函數不需要返回類型。 所以

class Konto
{
   public Konto()
   {...}
}

有效,但所有其他方法都需要具有返回類型。 另外,就樣式/清理而言。 您不需要私人支持字段。 如果您要初始化帳戶中的金額,並且僅通過提款和存款方法進行更改,則可以執行以下操作。

class Konto
{
   public int Money {private set; get;}
   public Konto(int initialAmount)
   {
       Money = initialAmount;
   }

   public int Withdrawal(amount)
   {
      Money -= amount;
      return Money;
   }

   public void Deposit(int amount)
   {
      Money += amount;
   }
}

在此代碼中,只能通過創建的方法從類內部設置Money。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM