virtual 应该是默认值还是 final 是默认值?

Should virtual be default or final be default?

函数默认为虚函数是否违反关闭修改? 默认为 final 的函数是否违反开放扩展?

如果实现多重继承,函数应该默认为 final 吗?

class怎么样? 它们应该默认为 virtual 还是默认为 final?

或者 final 和 virtual 都应该是显式的吗? (即强制编码器将每个函数或 classes 声明为最终的或虚拟的,就像在大多数语言中没有默认的 return 类型一样。)因为显式优于隐式。

Final 表示函数或 class 不能被继承或覆盖,virtual 表示函数或 class 可以被继承或覆盖。

将 类 设置为默认虚拟将意味着代码之间更紧密的耦合,因为鼓励继承,但是组合和接口继承,因此不鼓励继承,所以在我看来,类 应该是最终的默认值。与函数一样,它们默认是虚拟的,不仅违反修改关闭,而且鼓励继承,这将意味着代码之间更紧密的耦合。

明确说明它们可能是一种选择,但这只会增加代码的冗余度..