什么是无操作课程?

Dav*_*ley 1 c# abstract

我刚刚在答案中了解了关于确保基类中的方法始终由子类调用的问题的模板方法模式.

部分答案涉及基类和非操作类:

(关于是否使其成为无操作或抽象的决定通常是相当明显的 - 基类本身是否有意义,作为具体类?)

什么是无操作课程?

Jon*_*Jon 12

它不是无操作的,而是方法的实现.

答案讨论了在基类抽象中使用该方法的决定(从而迫使派生类实现它,即使他们希望它完全没有任何东西)而不是将其实现为"无操作"(即使用空方法)身体).

如果什么都不做是一个合理的默认值,那么基类可能会将此方法实现为无操作,这样派生类只有在实际需要发生不同的事情时才会被覆盖.

如果什么都不做是不明智的,那么这个方法是抽象的是有意义的.


Ode*_*ded 7

no-opno-operation一个简单的方法,也就是说,什么都不做的方法:

public void MyNoOp()
{
}
Run Code Online (Sandbox Code Playgroud)

或者从链接的问题:

public override void Update()
{
    //no-op, does nothing
}
Run Code Online (Sandbox Code Playgroud)