本帖最后由 刘元明 于 2014-7-1 16:03 编辑
OC中的分类是用于给一个OC类扩充方法,这个类可以是自定义的Person等类,也可以是系统自带的NSString等类。分类的一个很大的好处就是你可以给一个给定类名的类拓展方法,当然可以给自己曾经写的类增加方法,即使你的那些源代码已经没法看到。至于分类和继承的关系,我个人觉得它们俩可以比较无非是在方法扩展上,继承一个类你可以拥有父类的所有成员变量和方法(当然能不能访问的问题在这就不提了),子类可以重写父类的方法,分类也可以覆盖原始类的方法,当分类中存在与原始类存在同样的方法时,方法调用会是分类中的方法,这样也算是对原始类的一种覆盖。
对于两者的使用场合我认为还是比较明显的,你不会为了增加一个方法就继承一个类吧,那就用分类;如果你需要父类的很多信息,而且两者可以是子类是父类就用继承
|