天天看点

Objective-C:协议protocol

六、协议(protocol)

 关键字:@optional、@required

 (1)是一个类共享的一个方法列表

 (2)它声明了一系列的方法而不进行实现

 (3)遵从某个协议,就是需要实现协议中的方法

 (4)类似于java的接口、C++中的纯虚函数

非正式协议、正式协议

重点:正式协议:所有实现正式协议的类, 都必须实现该协议中的所有方法

         一个类可以实现任意多个协议

协议其实就是代理模式:自己不亲自做,让别人去做,遵循了协议的类,可以成为别的类的代理。

-----------------------------------------------------------------------------------------------------------------------------------------------------

//Boos类,制定委托协议并选择委托人(Boos有些事可以自己做,但是有些事需要委托人去做,例如秘书帮助老板去买票、订房、通知开会的人)

Objective-C:协议protocol
Objective-C:协议protocol
Objective-C:协议protocol
Objective-C:协议protocol

//选取person作为委托人

Objective-C:协议protocol
Objective-C:协议protocol
Objective-C:协议protocol
Objective-C:协议protocol

//还可以选取Student作为代理人

Objective-C:协议protocol
Objective-C:协议protocol
Objective-C:协议protocol
Objective-C:协议protocol

//测试代理人

Objective-C:协议protocol
Objective-C:协议protocol

//运行结果

Objective-C:协议protocol
Objective-C:协议protocol

程序猿神奇的手,每时每刻,这双手都在改变着世界的交互方式!

本文转自当天真遇到现实博客园博客,原文链接:http://www.cnblogs.com/XYQ-208910/p/4724425.html,如需转载请自行联系原作者