我想知道什么时候应该将我的课程标记为 final ?
如果不能,我可以扩展最终课程吗?
我正在使用一个 ipinfodb api,它是我想在我的常规课程中使用的最后一个课程。
使用组合而不是继承。类的唯一目的final
是您不打算从它们继承。您需要创建一个仅在final
内部使用该类的实例的类。
你不能扩展最终课程。扩展意味着继承。什么是“在我的课程中包括最后一堂课”?
您可以创建自己的班级,然后在该班级中创建最终班级的成员var m_yourFinalClassObj = new MyFinalClass;
或者只是声明它:
class MyClass
{
var m_yourFinalClassObj;
...
...并在构造函数中对其进行初始化(创建最终类的对象)
最后一堂课只不过是最后一堂课。这意味着,您不能创建最终类的子类(不支持继承)。你也不能覆盖它的方法。但是您实际上可以包含它并在其他类中使用它。
final 类与 c# 中的密封类相同,这意味着它是密封的,它不能与其他类继承,但是通过在另一个类中创建它的对象来使用这个类。