[英]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.