什么是正确的修饰符
本文关键字:什么 | 更新日期: 2023-09-27 18:32:35
我有以下带有一些方法的类,我想将其用作另一个类的基类。
public class BaseClass
{
public string DoWork(string str)
{
// some codes...
}
// other methods...
}
我不希望这个类被实例化,但派生类仍然应该使用其基类方法的原始实现。
可能吗?我的修饰符应该是什么?
由于您不希望实例化此类,因此请将其设置为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...
}
使BaseClass
抽象:
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
中定义自己的代码 - 但它不能直接初始化,它必须继承自。