Swift 类的继承、方法重写与初始化详解
在 Swift 编程中,类的使用涉及到诸多重要概念,包括类的继承、方法重写以及类实例的初始化等。这些概念对于构建复杂的程序结构和实现代码复用至关重要。
1. 闭包与 @escaping 参数
在某些情况下,代码中调用 self.changeNumberTo(345) 是否合法,取决于 otherFunction 是否将其函数参数声明为 @escaping 。如果声明为 @escaping ,编译器会报错,因为这可能会在后续改变已捕获的 self ,导致不一致。若 otherFunction 未声明其参数为 @escaping ,则不会有此问题,因为捕获的 self 不会持久存在;若 Digit 是类,也不会有问题,因为持久捕获的 self 可以直接修改。
2. 子类与超类
两个类可以形成子类和超类的关系。例如, Quadruped 类可以作为 Dog 类的超类。一个类可以有多个子类,但只能有一个直接超类。类的继承关系形成一个层次树,最终汇聚到基类。
在 Swift 中,类不一定需要有超类,也不一定需要继承自特定的基类。但在 Cocoa 框架中,所有类最终都继承自 NSObject
超级会员免费看
订阅专栏 解锁全文
90

被折叠的 条评论
为什么被折叠?



