Swift 协议编程:从基础到实战
1. 协议编程基础
在 Swift 中,协议编程是一项强大的特性。编译器会强制要求我们在声明遵循某个协议的类中实现该协议的所有成员。例如,若要避免编译器报错,我们需将 nickName 属性声明修改为:
public var nickName: String = String()
Swift 协议能确保实现它们的类定义协议中指定的所有成员,否则代码将无法编译。像 ComicCharacter 协议未指定任何初始化器要求,所以遵循该协议的每个类都能无约束地定义自己的初始化器,如 AngryDog 和 AngryCat 声明的初始化器参数数量就不同。
2. 利用协议的多继承
Swift 不支持类的多继承,一个子类只能继承自一个类。但类可以遵循一个或多个协议,还能声明继承自超类并遵循一个或多个协议的类,从而将基于类的继承与协议结合起来。
若要让 AngryCat 类同时遵循 ComicCharacter 和 GameCharacter 协议,需修改类声明,将 GameCharacter 协议添加到类遵循的协议列表中,并在类中声明该协议包含的所有成员。新的类声明如下:
public class An
超级会员免费看
订阅专栏 解锁全文
11

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



