快速将final用于子类

时间:2018-09-17 09:19:10

标签: swift

我有两个类A,B。B是A的子类。我可以对B类使用final吗。我想减少动态分配。如果类b中的方法覆盖了类A方法怎么办?方法调度将如何工作?

class A {
     ///
}

final class B : Class A {

}

1 个答案:

答案 0 :(得分:1)

是的,您可以

Swift为此提供了一个final关键字:当您将一个类声明为final时,其他任何类都不能从该类继承。这意味着他们无法覆盖您的方法来更改您的行为–他们需要以编写类的方式使用您的类。

final关键字是对类,方法或属性的限制,指示不能覆盖声明。这使编译器可以安全地消除动态调度间接寻址。

因此您可以使用它。