Swift 中的协议与泛型编程:原理、应用与优势
1. 协议基础与应用
1.1 协议定义与采用
协议是一组方法和属性的定义,对象通过在定义类型时在冒号后包含协议名称来采用协议。当对象采用正式协议时,它承诺实现协议中列出的每个必需方法。编译器会在未实现所有协议方法时给出错误。
1.2 协议初始化器
如果类被标记为 final ,则初始化器不需要提供 required 关键字。如果子类重写指定初始化器并实现协议中的匹配初始化器要求,则必须同时使用 required 和 override 关键字。示例代码如下:
class ParentClass {
init(parameter : Double) {
}
}
class SomeClass : ParentClass, SomeProtocol {
required override init(parameter: Double) {
}
}
1.3 可失败初始化器
协议中可以要求可失败初始化器,可失败初始化器要求可以由可失败或非可失败初始化器满足。对于非可失败初始化器,可以使用可失败初始化器并显式解包。
1.4 协议作为类型
协议定义后成为一种类型,可以像其他类型一样使用,尽管协议不提供自己的实现。协议类型可用于以下场景:
- 方法的参数类型
- 方
超级会员免费看
订阅专栏 解锁全文
93

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



