子类和类别之间的区别?

时间:2012-11-12 13:46:30

标签: objective-c

  

可能重复:
  Difference between inheritance and Categories in Objective-c
  What’s the difference and use of categories and inheritance?

感谢您的回复,例如我们有nsstring类,如果我们想要为该类添加方法,则不需要为此创建类别,只是我们可以将其子类化,但为什么我们使用类别?请帮助这个< / p>

1 个答案:

答案 0 :(得分:10)

类别为特定类添加了一些额外的功能(例如NSString)。您不需要使用该特定类名声明Object。您只导入该类别,并且所有Object隐式地成为该类别的实例,现在可以使用所有实现。

在子类化时,(有时你需要覆盖现有的行为/方法,或者你也可以添加额外的功能。)你明确地声明了类型为

的Object。
MyCustomString *string;

然后所有方法都可见。