首先我只想问:为什么是协议?为什么面向协议编程?如果我们回到过去那段年少无知少不更事的面相对象编程时期,我们很多人最初学习的是Objective-C,这意味着我们免受多继承的专横.又或者你是这个房间里另一半喜欢C++的人,那么我们并没有受过多继承的启示,我们稍后将对其进行讨论. 单继承中,层次结构是线性的:你有父辈.子辈以及孙子辈一系列的继承树.当你回到树的顶端,所有的一切有一个单独的父辈.这使得层次干净,但同时你的确失去了合理使用多继承所带来的优势.在Swift中不能继承枚举和结构类型,只有类…