博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
类别的三个作用
阅读量:5205 次
发布时间:2019-06-14

本文共 482 字,大约阅读时间需要 1 分钟。

1.将类的实现分散到多个不同文件或不同框架中。

2.创建对私有方法的前向引用

  关于前向引用:如果其他类中的方法未实现,在你访问其他类的私有方法时,编译器会报错,这时使用类别,在类中声明这些方法(不必实现)就不会再产生警告,来我们是访问不了其他类的私有方法的,但是帮那个类的私有方法声明在这个类的类别中,就可以访问了,而且不需要在类别中实现,因为那个类里已有实现。

3.向对象添加非正式协议。

  创建一个NSObject的类别并添加新方法,因为NSObject是顶级父类,在NSObject中添加了该方法,也就是说通过继承关系,所有的类中都有该方法。

  正式协议是通过protocol指定的一些列方法的声明,然后由实现该协议的类自己去实现这些方法。而非正式协议是通过向NSObject中添加一个类别来实现,然后子类去继承NSObject。其实都差不多。

  不过,非正式协议已经渐渐被正式协议取代,正式协议最大的优点就是可以使用泛型约束,而非正式协议则不可以。

转载于:https://www.cnblogs.com/J-yq/p/5211328.html

你可能感兴趣的文章
noip2010 引水入城 - bfs + 贪心
查看>>
Python定义字符串、循环
查看>>
Robotium查找指定控件
查看>>
Vue,事件的修饰符
查看>>
JVM内存模型
查看>>
vs2017 卸载重新安装
查看>>
JAVA面试常见问题之开源框架和容器篇
查看>>
[k8s]k8s内容索引
查看>>
第五课:滚动标签,框架集,简易CSS样式
查看>>
centos 添加用户
查看>>
java编程思想中import static net.mindview.util.Print.*;无法解析
查看>>
python爬虫之urllib库(三)
查看>>
图形化
查看>>
使用docker进行测试,保存并生成可执行文件
查看>>
关于mysql数据库的DQL语句中的where和having使用
查看>>
[BZOJ4540]序列
查看>>
布同:我的web后台开发技术层次图和经验感受
查看>>
微信小程序---音乐播放和控制
查看>>
大道至简第五章读后感
查看>>
React Native - 5 ListView实现图文混排
查看>>