protocol协议的概念和使用 - OC

协议的定义:
@protocol 协议名称<NSObjet>      //默认遵守NSObject协议
 //方法声明
@end
协议的采纳:
  • 创建类的时候遵守某个或多个协议
@interface 类名:父类<协议名称1,协议名称2>
@end
  • 某个协议也可以遵守其他协议
 @protocol 协议名称<其他协议名称1,其他协议名称2>     
 //方法声明
 @end
protocol中@required和@optional的使用:
  • @required:表示这个方法必须要实现(默认)
  • @optional:表示这个方法不是必须要实现的
protocol类型限制:
//1>增加<houseHold>以后,表示obj只能赋值遵守了houseHold协议的对象
    id<houseHold> obj = mm;

//2>表示obj2赋值的时候,必须是Girl对象,并其遵守了houseHold协议
    Girl<houseHold> *obj2 = mm;

 //3>让定义的成员属性(对象)遵守某个协议
    @property (nonatomic,strong) Dog<协议名称> *dog;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 熟悉Objective-C语言的同学们肯定对协议都不陌生,在Swift中苹果将protocol这种语法发扬的...
    老板娘来盘一血阅读 6,986评论 7 44
  • 132.转换错误成可选值 通过转换错误成一个可选值,你可以使用 try? 来处理错误。当执行try?表达式时,如果...
    无沣阅读 1,282评论 0 3
  • 协议定义了一个蓝图,规定了用来实现某一特定任务或者功能的方法、属性,以及其他需要的东西。 类、结构体或枚举都可以采...
    松哥888阅读 717评论 0 1
  • 陽光,漸遠了 清冷的路燈,搖曳著; 睜開眼, 仿佛從夢裏墜落, 子夜降臨 黑壓壓, 我看不清這世界。 慘白色的光束...
    徐潜阅读 176评论 0 0
  • 今天也如往常一样,不同的怕就是天下着淅淅沥沥的冰凉刺骨的雨。秋风徐徐,略见枯黄的斑驳树叶,轻轻地轻轻地摇晃。远山隐...
    阿笙小姐姐阅读 142评论 0 2