开启协议编程之旅
1. 协议导向编程概述
2015 年苹果在全球开发者大会(WWDC)上发布了 Swift 2 ,并宣称 Swift 是世界上第一种协议导向的编程语言。但协议导向编程并非仅仅围绕协议展开,它实际上是一种全新的编写应用程序和思考应用设计的方式。
1.1 协议导向编程与面向对象编程的设计差异
- 面向对象编程设计 :通常从类层次结构入手,关注对象之间的交互。对象是一种数据结构,包含以属性形式存在的对象属性信息,以及以方法形式存在的对象执行或被执行的操作。在大多数面向对象语言中,类是创建对象的蓝图,它将对象的属性和操作封装为单一类型。
- 协议导向编程设计 :与面向对象编程不同,协议导向设计建议从协议开始。虽然协议导向设计不仅仅是关于协议,但可以将协议视为其核心。毕竟,没有协议就很难实现协议导向编程。
1.2 Swift 中协议的概念
Swift 中的协议类似于面向对象语言中的接口,它作为一种契约,定义了类型执行任务所需的方法、属性和其他要求。任何符合协议的类型都必须实现协议中定义的要求,否则会导致编译时错误。在 Swift 中,类、结构体和枚举都可以遵循协议。而且,Swift 中的协议比大多数面向对象语言中的接口更强大。
1.3 协议在 Swift 标准库中的地位
大多数现代面向对象编程语言使用类层次结构来实现其标准库,而 Swift 标准库的基础是协议(http://swiftdoc.org)。因此,苹果不仅建议在应用程序中使用协议导向编程范式,还建议在 S
超级会员免费看
订阅专栏 解锁全文
1074

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



