可能重复:
Difference between inheritance and Categories in Objective-c
What’s the difference and use of categories and inheritance?
感谢您的回复,例如我们有nsstring类,如果我们想要为该类添加方法,则不需要为此创建类别,只是我们可以将其子类化,但为什么我们使用类别?请帮助这个< / p>
答案 0 :(得分:10)
类别为特定类添加了一些额外的功能(例如NSString
)。您不需要使用该特定类名声明Object。您只导入该类别,并且所有Object隐式地成为该类别的实例,现在可以使用所有实现。
在子类化时,(有时你需要覆盖现有的行为/方法,或者你也可以添加额外的功能。)你明确地声明了类型为
的Object。MyCustomString *string;
然后所有方法都可见。