Swift笔记: protocol(协议)
概念简述
protocol = 协议
既然是协议,那么最基本的问题就是:
1. 协议规定了什么?(就像交通法规规定不能超速,不能闯灯之类的)
2. 谁来服从/遵守协议?(比如你在马路上跑,你就是交通法规的服从者)
一言以蔽之: ->服从协议的类至少需要实现协议中声明的属性和方法。<-
这包含了两层意思:
1. 协议的服从者是类
2. 服从协议的类必须实现协议中声明的属性和方法,这个是没商量的。除此之外允许类再实现其他的属性和方法(听着像是继承父类的感觉,但这是有区别的,我们稍后再谈)
使用Protocol
文字堆完,来点实际的:如何使用协议?
使用协议只需要两个步骤:
1. 定义协议(先做到有法可依)
2. 让类服从协议
—>定义协议:
protocol ProtocalName {
//协议内容
func f1()->Int
func f2(_ str: String)
..........
}
可以看出协议的定义和结构的定义类似:
1. 关键字是protocol
2. 仅仅是声明方法,而不需要实现
—>服从协议:
class ClassName: ProtocalName {
//1. 实现自己的属性和方法
...