我有以下类和一些方法,我想将它用作另一个类的基类。
public class BaseClass
{
public string DoWork(string str)
{
// some codes...
}
// other methods...
}
我不希望实例化此类,但派生类仍应使用其基类方法的原始实现。
有可能吗?我的修饰语应该是什么?
答案 0 :(得分:7)
制作BaseClass
abstract:
public abstract class BaseClass
{
// Only available to BaseClass
private string _myString;
public string DoWork(string str)
{
// Available to everyone
return _myString;
}
protected void DoWorkInternal() {
// Only available to classes who inherit base class
}
}
这样,你可以在BaseClass
中定义自己的代码 - 但它不能直接初始化,必须继承。
答案 1 :(得分:6)
由于您不希望实例化此类,因此请将其设为abstract
类。你仍然可以在课堂上实现。
片段,
public abstract class BaseClass
{
public virtual string DoWork(string str)
{
// can have implementation here
// and classes that inherits can overide this method because of virtual.
}
// other methods...
}