簡體   English   中英

使用具有私有變量的方法從抽象類繼承

[英]Inheriting from abstract class, using methods with private variables

在簡化版本中,我具有以下內容:

abstract class Days
{
  private readonly int _amount;

  protected virtual void UpdateAmount()
  {
    Proccess();
  }

  protected virtual void Process()
  {
    _amount += 1; 
  }
}

問題是我需要創建一個從Days繼承的類,在該類中,我需要更改UpdateAmounts()的功能,但仍使用Process()的相同功能。 由於Process使用私有字段,是否有必要做到這一點而不僅僅是將Process()中的代碼復制並粘貼到我的子類中? 它不會讓我使用base.Process(),因為該方法引用了一個私有字段。

您將能夠使用base.Process()因為它是protected ,它是否使用私有字段並不重要

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

此代碼有效

暫無
暫無

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

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