黑马程序员技术交流社区

标题: 求神助!! [打印本页]

作者: 364136862qq    时间: 2015-4-22 22:23
标题: 求神助!!
类的延展和扩展是一个意思吗?还有它们跟分类有什么区别啊?
作者: 仰望的繁华    时间: 2015-4-22 23:13
本帖最后由 仰望的繁华 于 2015-4-22 23:21 编辑

分类可以单独写在.h .m文件里,也可以写在原类.h .m中。
后一种情况,如果把 分类的声明和实现都写在 .m中。(即:.h中的分类声明,挪到.m中。)
就叫延展。
同时由于.h中没有它的声明,而一般头文件只包含.h文件。
所以其他类或文件,会因为缺少声明而无法调用它其中的方法。
因此延展中的方法,只能在原类的实现中调用(前提时声明位置写在调用之前),即实现了私有方法。(以上内容,视频中只说了书写位置,没听到延展这个词,我是搜索总结出来的思路,核心就是一句:没有包含声明,无法调用。)
这个问题问的好,一次提问,弄懂 延展+私有方法。
另外你再去补充一下,实现私有成员变量的两种方法。(这个视频里有详细讲解)
以上三点合在一起,基本上算是完美解决一道入学测试题了。


作者: 鹰击长空168    时间: 2015-4-22 23:21
延展类别又称为扩展(Extendsion)
Extension是Category的一个特例 其名字为匿名(为空),并且新添加的方法一定要予以实现。(Category没有这个限制) @interface Student ()
@end




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2