从抽象类继承,使用带有私有变量的方法

本文关键字:变量 方法 抽象类 继承 | 更新日期: 2023-09-27 18:04:20

简写如下:

abstract class Days
{
  private readonly int _amount;
  protected virtual void UpdateAmount()
  {
    Proccess();
  }
  protected virtual void Process()
  {
    _amount += 1; 
  }
}

问题是我需要创建一个从Days继承的类,其中我需要更改updateamount()的功能,但仍然使用Process()的相同功能。由于Process使用私有字段,无论如何都可以做到这一点,而不只是复制和粘贴Process()中的代码到我的子类中?它不允许我使用base.Process(),因为该方法引用了私有字段。

从抽象类继承,使用带有私有变量的方法

您将能够使用base.Process(),因为它是protected,无论它是否使用私有字段

class MyClass : Days
{    
    protected override void UpdateAmount()
    {
        base.Process();
    }
}