应该将virtual设置为default还是将final设置为default?

时间:2018-07-05 09:28:51

标签: oop language-design

虚拟为默认功能是否违反了修改规范? 最终的默认功能是否违反了扩展要求?

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

上课怎么样? 它们应该默认为虚拟还是最终默认?

还是final和virtual都应该明确? (即,强制编码器将每个函数或类都声明为final或virtual,就像大多数语言中没有默认的返回类型一样。)因为显式比隐式好。

最终表示函数或类不能被继承或覆盖,而虚拟表示函数或类不能被继承或覆盖。

1 个答案:

答案 0 :(得分:1)

将类设置为默认虚拟类,这是因为鼓励使用继承,这意味着跨代码的耦合会更加紧密,但是继承的组成和接口应避免继承,因此我不建议继承,因此我认为类应作为默认类的final。与函数相同,它们默认为虚拟,不仅违反了修改的封闭性,而且鼓励继承,这意味着跨代码的紧密耦合。

明确指出它们可能是一个选择,但这只会增加代码的冗余性。