OC中的协议中用于声明一些方法,供其他类去遵守或实现,通常用于代理模式。
1、协议要写在.h文件中,只能声明方法,可以是必须实现或选择实现;不能声明方属性或变量。
2、协议是可以继承的,不同于类的单继承,协议可以多继承。
3、如果父类遵守某个协议,则他的子类也会遵守那个协议。
4、协议的方法可以由任何的类去实现。
5、<NSObject>是基础协议,最终所有的协议都会遵守<NSObject>协议
总结:协议就是定义公共接口的地方,只要遵守协议,就等于在头文件中定义了这些方法,只要实现就行了。之所以有这样的设计,是因为要将共同的行为抽象出来:不同的类有不同的作用和特征,这也是面向对象的特点,但是即使千差万别,还是会有某些相似点的,这些相似的地方就可以抽象出来做成协议。但有时候这些共同的部分并不是本身就有的,而是人为的添加的,我们要求这些类具有共同的部分,而不管这些类是多么千差万别。
另外,代理模式感觉不如block代码来的简介明了。
网友评论