Axa*_*dax 9 c# polymorphism virtual module
我有一些插件样式的基类,并且有一些绝对需要实现的方法.
例如,我目前将基类中的那些声明为虚拟
public virtual void Save
{
throw new NotImplementedException();
}
Run Code Online (Sandbox Code Playgroud)
在下降我有一个
public override void Save()
{
//do stuff
}
Run Code Online (Sandbox Code Playgroud)
扔NotImplementedException那里是一个好习惯吗?例如,下降类可以是用于处理不同文件格式的模块.谢谢
tva*_*son 16
一般来说,我希望您的基类是抽象的,只需将实现推迟到继承类.
public abstract class MyBase
{
public abstract void Save();
...
}
public class MyChild : MyBase
{
public override void Save()
{
... save ...
}
...
}
Run Code Online (Sandbox Code Playgroud)
小智 11
不是个好主意.
通常,重写方法会通过调用基类方法
base.Save()
Run Code Online (Sandbox Code Playgroud)
那每次都会呕吐.
所以一般来说,坏主意.在你的情况下,它看起来像抽象将是更好的选择.
| 归档时间: |
|
| 查看次数: |
2781 次 |
| 最近记录: |