有没有办法防止子类重写Swift中的继承函数?
答案 0 :(得分:18)
查看final
关键字。
根据文件,
您可以通过将方法,属性或下标标记为 final 来阻止它被覆盖。通过在方法,属性或下标的介绍人关键字(例如
final
,final var
,final func
和final class func
)之前编写final subscript
修饰符来执行此操作。任何覆盖子类中的最终方法,属性或下标的尝试都会报告为编译时错误。您添加到扩展中的类的方法,属性或下标也可以在扩展的定义中标记为final。
您可以在Swift语言指南的Inheritance section底部找到更多信息(查找"防止覆盖"小节)。