iOS列别和扩展的区别和用法

   最近由于找工作的事情看了些面试题,基本面试题中都会提到类别和扩展之间的区别和联系。看了些书籍和博客基本都是写了些区别,而我又是个没有代码不能完全理解的人,就自己写了个小demo记录一下。

 关于类别:类别很好理解,就是在不知道原有类的代码的情况下为类添加新的方法。值得注意的是只能添加新的方法。另外一点是如果你重写了原类的方法,调用时会优先调用类别的方法。

关于扩展:很多文章都只是说扩展是类别的特例,这种说法是没有错的。只是本人有点愚笨,在没有实例的情况下有的时候实在无法理解。其实可以这么想,我们为某个类添加私有的属性和方法时一般写在该类.m文件的

扩展

中。而扩展则是将该部分单独的抽出来成为一个.h文件,其实质还是给类添加私有属性和方法

以下是自己写了个小Demo,希望能够对理解扩展有所帮助。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,024评论 25 708
  • 说来惭愧,直到现在,26岁的我还不知道自己到底想要什么 样的生活,或者想要一种怎样的将来。我的未来在哪里,我又会...
    me挥之即去阅读 360评论 0 0
  • 今天临下班前,和两个在公司做临时兼职的大学生聊了几句,他们是刚结束军训,十一过完后才会开始上课,还不知道接下来要面...
    皮皮老猫阅读 1,103评论 0 2
  • 他们比你小三到六七岁,却和你做着同样的事情,尤其当你对现在的生活不甚满意的时候。当我遇到时,我的内心几乎是崩溃...
    907d7ecc026d阅读 157评论 0 0