Object-C的类可以多重继承吗?可以实现多个接口吗?category是什么?重写一个类的方式用继承好还是分类好,为什么?

Object-C的类可以多重继承吗?可以实现多个接口吗?category是什么?重写一个类的方式用继承好还是分类好,为什么?

答:Object-c的类不可以多重继承,可以实现多个接口(协议),Category是类别,重写一个类的方式一般用分类更好,仅仅对分类有效,不会影响到其他类与原有类的关系。category的主要作用是为已经存在的类添加方法.除此之外,apple官方还推荐了另外两种使用场景:

1.可以把类的实现分开在几个不同的文件,这样做有几个显而易见的好处:第一,可以减少单个文件的体积。第二,可以不同功能的组织放到不同的category中去。第三,可以由多个不同的开发者来共同完成一个类。第三,可以按需要来加载不同的category等等。

2.声明私有方法。

除了apple推荐的场景,开发者还衍生出了其他使用场景:

1.模拟多重继承。

2.把framework的私有方法公开。

posted @ 2018-11-21 16:37  呼啸而过  阅读(923)  评论(0编辑  收藏  举报