OC协议protocol详解

本文详细介绍了Objective-C中的协议(Protocol),包括其基本用途、如何遵守协议、正式与非正式协议的区别、基协议的使用以及如何限制对象类型等。协议主要用于声明方法,允许类、类别和协议遵守并实现这些方法,是实现多态和设计模式(如代理和观察者模式)的重要工具。
摘要由CSDN通过智能技术生成
  

1、protocol协议的基本用途:

(1)可以用来声明一大堆方法(不能声明成员变量)

(2)只要某个类遵守了这个协议,就相当于拥有了这个协议中的所有方法声明。

(3)只要父类遵守了某个协议,就相当于子类也遵守了。

注意:协议内仅仅写方法声明,不能写实现,不能写成员变量

2、对协议的简单理解:

(1)protocol声明的方法可以交给任何类去实现。

(2)protocol的作用仅仅就是声明方法,所以新建协议就是.h文件。

(3)@protocol关键字表示声明协议,同样以@end结尾。例如:@protocol  MyProtocol

@end

表示声明了一个名为MyProtocol的协议。

(4)@protocol声明的方法要交给类去实现,即类遵守协议。也就是说只要类遵守了这个协议,就相当于拥有了这个协议内的所有方法声明。(协议仅仅用来声明方法,以交给多个类去实现(去遵守))

(5)协议与分类一样只能写方法,不能声明成员变量。但是和分类不同的是协议只能写方法声明,分类是给某个类扩充一些方法。

3、类遵守协议的方式:

在类的.h文件中导入协议所在的.h文件,类遵守协议的格式是在类继承的父类之后用尖括号“<>”括住协议名。即如下所示

@interface 类名:父类名<协议名>   @end;类遵守了一个协议就相当于没遵守协议之前把协议中声明的所有方法拷贝到类的声明之中。

4、正式协议与非正式协议简单介绍:

(1)在协议声明的方法之前加@required,表示要求实现,如果遵守了这个协议的类不实现@required标示的方法,就会出现警告。(仅仅警告,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值