嗨,大家好我在C#中遇到了一些問題。我在基類中有以下代碼(它有2個派生類,可直接引用_Balance)。C#繼承 - 爲派生類添加受保護的成員
using System;
namespace BankAccounts
{
class Account
{
protected Account(decimal balance)
{ _Balance = balance; }
private decimal _Balance;
public decimal Balance
{
get { return _Balance; }
}
public override string ToString()
{
return string.Format("Balance: {0:c}", _Balance);
}
}
}
現在我知道是因爲_balance是私人的,我的程序是不是由於其保護級別編譯,因爲它是不可訪問。我也知道我需要向該類添加一個或多個受保護的成員,以允許派生成員修改_Balance。我只是不知道什麼是最好的方式。顯然直接引用_Balance在派生類中也需要改變。
任何意見將不勝感激,謝謝!
感謝伊戈爾,但它是一個教科書中的問題,它特別要求保持_Balance私人並找到使派生類可訪問的替代方法(即通過添加新的受保護成員)。 – lonewolf2288
@ lonewolf2288 - 好的,更新了 – Igor
你的回答(在我看來)可能不會回答這個問題,你也可以做'{get; protected set;}'但我認爲這個人正在尋找手動實現'Encapsulation'。自從他提到「教科書」以來,這可能是一個考驗或任務。 – Transcendent