gpt4 book ai didi

c# - 为什么 C# 默认将方法实现为非虚拟的?

转载 作者:IT老高 更新时间:2023-10-28 11:23:07 25 4
gpt4 key购买 nike

与 Java 不同,为什么 C# 默认将方法视为非虚函数?是否更有可能是性能问题而不是其他可能的结果?

我想起了阅读 Anders Hejlsberg 的一段关于现有架构带来的几个优点的段落。但是,副作用呢?默认情况下使用非虚拟方法真的是一个很好的权衡吗?

最佳答案

类应该设计以便继承能够利用它。默认情况下拥有 virtual 方法意味着类中的每个函数都可以被插入并被另一个函数替换,这并不是一件好事。许多人甚至认为默认情况下类应该是sealed的。

virtual 方法也会对性能产生轻微影响。然而,这可能不是主要原因。

关于c# - 为什么 C# 默认将方法实现为非虚拟的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/814934/

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