Swift 协议导向编程:原理、优势与实践
1. 协议导向编程简介
在 2015 年全球开发者大会上,苹果宣布 Swift 2 是一种 “协议导向的编程语言”,这得益于协议扩展的引入。协议导向编程强调面向协议编码,而非特定的类、结构体或枚举。它打破了协议的旧规则,允许在协议本身编写实现。
2. 协议扩展介绍
- 扩展类型成员 :扩展可以为类型添加额外成员,例如为
String类型添加shout方法:
extension String {
func shout() {
print(uppercased())
}
}
"Swift is pretty cool".shout()
- 协议扩展语法 :使用
extension关键字后跟协议名来定义协议扩展。例如,为TeamRecord协议添加gamesPlayed属性:
protocol TeamRecord {
var wins: Int { get }
var losses: Int { get }
var winningPercentage: Double { get }
}
extension
超级会员免费看
订阅专栏 解锁全文
77

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



