And*_*are 16
如果基类不应该被实例化,那么使它成为一个抽象类 - 如果基类需要实例化,那么不要使它抽象.
在这个例子中,使基类抽象是有意义的,因为基类没有任何具体含义:
abstract class WritingImplement
{
public abstract void Write();
}
class Pencil : WritingImplement
{
public override void Write() { }
}
Run Code Online (Sandbox Code Playgroud)
但是在下一个示例中,您可以看到基类如何具有具体含义:
class Dog
{
public virtual void Bark() { }
}
class GoldenRetriever : Dog
{
public override void Bark() { }
}
Run Code Online (Sandbox Code Playgroud)
这一切都非常主观 - 你应该能够根据你的特定领域的需求做出一个非常好的判断.