对于协议的认知:
协议就是定义了一组方法,然后让其他类去实现
协议的关键字 @protocol
协议里面不能声明变量只能声明方法,任何类只要遵守协议就可以使用所有的声明,父类遵守了某个协议就相当于子类也遵守
在协议中也是可以遵守协议
代码演示:
这里要注意的是,上面的代码中NSObject不是我们之前说的NSObject类了,而是NSObject协议,他也是OC中第一个协议。
协议的定义格式
@protocol 协议名称 <父类协议>
方法声明列表
@end
协议中定义的方法还有两个修饰符:
@required:这个表示这个方法是其他类必须实现的,也是默认的值
@optional:这个表示这个方法对于其他类实现是可选的
两个修饰符的主要用途是用于程序员的交流
如何遵守协议
这里是 Person 这个类遵守啦 mypotocol 这个协议
格式:
@interface 类名 : 父类名 <协议名称>
@end
如何实现
最后在主函数中调用
<