OC 协议
2015-11-03 20:07
169 查看
协议(protocol)类似于java语言里的接口(interface),定义了一 组方法,而不提供具体实现, 只有那些“遵守”(conform to)或“采用”(adopt)了这些Protocol的类来给出自己的实现。协议不是类本身,它们仅定义了其它对象有责任实现的接口。当在自己的类中实 现协议的方法时,用户的类就是遵守这个协议的,协议声明的方法可以被任何一个类实现。
协议是通过网络,计算机使用者进行通讯后,互相进行约定规定的集合。
协议分为正式协议和非正式协议,写法上的区别是:非正式协议用@interface 来定义
;正式协议用@protocol来定义。其实就是非正式协议(interface)换了一种写法而已,看上去更正规一些,语义上更强烈一些:要求采用该协议的类,”必须”实现协议中约定的方法。但是即使号称正式协议,编译器在编译时,遇到不守规矩的情况,仍然只是给出警告。
协议的作用是:
正式协议可以将业务中的方法定义分出来,形成一个单独的文件。如果两个系统需要交换数据,可以指定一套双方都遵守的协议,然后在这两个系统中都把这个协议文件添加到项目中,实现它的必须实现方法即可。这一功能,非正式协议(@interface)就做不到了。
协议是通过网络,计算机使用者进行通讯后,互相进行约定规定的集合。
协议分为正式协议和非正式协议,写法上的区别是:非正式协议用@interface 来定义
;正式协议用@protocol来定义。其实就是非正式协议(interface)换了一种写法而已,看上去更正规一些,语义上更强烈一些:要求采用该协议的类,”必须”实现协议中约定的方法。但是即使号称正式协议,编译器在编译时,遇到不守规矩的情况,仍然只是给出警告。
协议的作用是:
正式协议可以将业务中的方法定义分出来,形成一个单独的文件。如果两个系统需要交换数据,可以指定一套双方都遵守的协议,然后在这两个系统中都把这个协议文件添加到项目中,实现它的必须实现方法即可。这一功能,非正式协议(@interface)就做不到了。
相关文章推荐
- getRequestDispatcher()与sendRedirect()的区别
- T-SQL学习之路之数据库完整性之参照完整性
- 运算符优先级口诀
- IAR 环境安装【TI CC2540开发版 New SmartRF】
- viso2010从mysql中导出ER图
- viso2010从mysql中导出ER图
- python里面区分ascii码与unicode码
- A Simple Study on Kali Linux
- JVM类加载器
- hihocoder 1145
- nginx autoindex
- 文艺篇----《转机》[短文]
- 微信扫码下载APK解决方案
- adr adrl ldr mov总结整理
- SparkSQL与Hive的应用关系
- Codevs_P3185 队列练习1
- Oracle EBS工作流表Subject等字段取值为空解决方法
- iOS模糊效果使用第三方库FXBlurView
- 默认实参
- iOS9新特性之实现3DTouch就是So easy(更新Swift 版 )