Published on

final in Swift

Authors

首先,看官方的文档

https://docs.swift.org/swift-book/documentation/the-swift-programming-language/declarations#Declaration-Modifiers

final Apply this modifier to a class or to a property, method, or subscript member of a class. It’s applied to a class to indicate that the class can’t be subclassed. It’s applied to a property, method, or subscript of a class to indicate that a class member can’t be overridden in any subclass. For an example of how to use the final attribute, see Preventing Overrides.

该修饰符用于修饰类或类中的属性、方法以及下标。如果用它修饰一个类,那么这个类不能被继承。如果用它修饰类中的属性、方法或下标,那么它们不能在子类中被重写。

这样就延伸了一个学习范围

声明修饰符

Declaration Modifiers 声明修饰符都是关键字或上下文相关的关键字,可以修改一个声明的行为或者含义。可以在声明的特性(如果存在)和引入该声明的关键字之间,利用声明修饰符的关键字或上下文相关的关键字指定一个声明修饰符。

class dynamic final lazy optional required static unowned unowned(safe) unowned(unsafe) weak

访问控制级别

容易和声明修饰符搞混 Access Control Levels https://docs.swift.org/swift-book/documentation/the-swift-programming-language/declarations/#Access-Control-Levels

Swift 提供了五个级别的访问控制:open、public、internal、file private 和 private。可以使用以下任意一种访问级别修饰符来指定声明的访问级别。访问控制在 访问控制 中有详细讨论。