OOP:我应该何时进行子类化,何时应该<include> </include>

时间:2014-04-08 15:52:34

标签: objective-c oop

我想知道什么时候我应该继承,我应该包括,让我解释一下原因:

  • 我看到每当你包含一个类时,你可以访问它的方法,例如,如果我创建一个新的类是NSObject的子类,我仍然可以通过包含NSString.h来访问NSString及其方法
  • 我还读到,当你创建一个类是另一个类的子类时,你也可以访问它的方法。

作为Objective-C的初学者,我不应该何时使用第一个,何时应该使用第二个?

2 个答案:

答案 0 :(得分:2)

子类化是一种面向对象的编程技术,用于创建继承超类型行为的现有类型的子类型。 #include是一个编译器指令,用于替换指定文件的内容。除了你必须包含声明一个类的文件以便对它进行子类化之外,这两者之间没有什么关系。

这个问题有点像“我应该什么时候建造一个狗窝,什么时候才能使用锤子?”

答案 1 :(得分:0)

只要有一个类可以执行您想要的操作,您就可以使用它。例如,这就是你用NSString做的事情。

当您需要一个与任何现有类无关的新类时,您继承NSObject。由于NSObject是Objective-C中所有内容的子类,因此很多人不会将其视为&#34;子类化&#34;但就像创建一个新类一样。

当您需要一个类是现有类的修改版本时,您可以继承该类。但是,Objective-C为您提供了一些避免子类化的工具,除非您真的需要,否则您不应该创建子类。例如,您可以在不创建子类的情况下向现有类添加方法甚至实例变量,并且可以通过使用委托对象来配置许多类。