嗨,大家好我在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