gpt4 book ai didi

c# - 什么是无操作类?

转载 作者:太空宇宙 更新时间:2023-11-03 17:10:42 25 4
gpt4 key购买 nike

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

部分答案讨论了基类与无操作类:

(The decision about whether to make it a no-op or abstract is usually fairly obvious - does the base class make sense on its own, as a concrete class?)

什么是空操作类?

最佳答案

空操作的不是,而是方法的实现。

答案争论的是在基类中使方法抽象(从而强制派生类实现它,即使他们想让它绝对不做任何事情)还是将它实现为“no-op”(即方法体为空)。

如果什么都不做是一个明智的默认设置,那么基类可能会将此方法实现为空操作,这样派生类只有在它们确实希望发生不同的事情时才需要覆盖。

如果什么都不做是不明智的,那么将方法抽象化是有意义的。

关于c# - 什么是无操作类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5556659/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com