OC之Cagegory, Extension, Protocol协议

本文介绍了Objective-C中的Protocol,将其比喻为任务清单,规定了需要实现的方法。Protocol仅包含方法声明,没有实现部分。实现了Protocol的类需要遵循并实现其@required方法,而@optional方法则可以选择实现。

Category(分类,类目) 的定义和使用
Extension 延展
Protocol 协议

Extension 延展的主要作用:为类添加”私有”方法.

面向对象编程的另外一个名字叫做面向接口编程.

我们在设计一个类的时候,有些方法需要对外公开(接口), 有些方法可能仅仅内部使用.

Extension 的功能是帮助我们去管理这些内部使用的方法(私有方法).

Extension 针对的是自己的类,必须有源代码的类.

延展也是扩充类的功能的一种方式,只不过延展扩充的内容是私有的,实在.m文件中定义的.延展即可以扩展方法也可以扩展实例变量,只不过都是私有的,外界无法直接访问.延展是为有源代码的类扩充内容.(extension)


Protocol 协议
Protocol, 是iOS开发中常用的技术
协议是一套标准(一堆方法的声明), 只有.h文件
接受协议的对象实现协议中定义的方法.

/** *  协议,就相当于一个任务清单,规定了要做的操作.(只有一系列方法的声明).谁服从该协议,谁就要实现协议中的方法.(完成任务中清单中的任务).所以协议只有.h文件,没有.m文件. */

@protocol TeachingProtocol <NSObject>

//@optional可选的,被它修饰的方法服从协议的类,可以选择实现. (可以实现,也可以不实现).

//@required必须的,被它修饰的方法服从协议的类,必须实现(没有商量的余地)

@optional

- (void)teachKVC;//KVC

@required//必须得做 

- (void)teachMemory;//讲内存

@end



//<> 表示服从协议,服从的协议写在<>之内

@interface Person :NSObject <TeachingProtocol>

@end

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值