将具体类设为 final 是一个好习惯吗?

问题描述

开闭原则是面向对象设计的五个 SOLID 原则之一。它指出“软件实体(类、模块、函数等)应该对扩展开放,对修改关闭”。

但是最近大多数编程语言都通过提供诸如 final 之类的关键字来提供一种终结类的方法,以便将来不会继承它。某些语言(如 Kotlin)在默认情况下将它们的类设为 final(即选择加入开放式)。

我还阅读了一些文章,其中指出接口继承必须优先于实现继承,并具有有效的推理,例如脆弱基类问题。但是 OCP 告诉类应该对扩展开放。那么我应该考虑宣布我的课程开放吗?还是最终?一般来说,哪个是好的做法?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)