内部抽象方法在抽象类中的用途是什么?为什么要在抽象类的内部创建抽象方法?如果我们想将抽象类限制在程序集之外,为什么不创建抽象内部类。它背后还有其他逻辑吗?
将internal
成员添加到public
抽象类中使得无法abstract
在声明了其的程序集之外继承该类。但是,该类本身以及所有派生类仍可以public
在声明程序集之外使用(因为类型是)。
假设您有一个抽象类:
public abstract AMyClass
{
public string DoSomething()
{
return DoSomethingInternal();
}
internal abstract string DoSomethingInternal();
}
另一个继承它的公共类在同一个程序集中声明
public sealed MyClass : AMyClass
{
internal override string DoSomethingInternal()
{
return "Hey from MyClass!";
}
}
您仍然可以MyClass
在不同的程序集中创建一个实例,但是您将无法实现自己的派生自的类AMyClass
,因为您将无法实现抽象DoSomethingInternal
方法。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句