如何将一个obj c类的方法调用到另一个obj c类中

时间:2011-03-22 19:13:40

标签: iphone objective-c oop inheritance

我有一个类,我希望在另一个类中使用方法,并且不想再次创建这些方法。 我知道这是一个愚蠢的问题,但我从未这样做过。

谢谢,

6 个答案:

答案 0 :(得分:3)

您可以使用继承来解决此问题。在AnotherClass的声明中(在.h文件中),你会声明它扩展了ParentClass:

@interface AnotherClass : ParentClass {
    // ...
}

// method declarations for methods that are new in AnotherClass
// methods from ParentClass would be inherited by AnotherClass

@end

答案 1 :(得分:1)

听起来你应该让第二个类成为第一个类的子类,或者为你的两个类创建一个共同的超类

答案 2 :(得分:1)

你能解释两个班级之间的关系吗?新的可以成为现有类的子类吗?两个独立的类实际上不能共享实现 - 一个类不能借用另一个类的实例方法,除非它们之间存在继承关系。

答案 3 :(得分:1)

这里没有一个正确的答案。很大程度上取决于您的具体情况和对象模型。您可以采取几种不同的方法:

1)创建一个实现要重用的方法的超类。你需要这个函数的每个当前类都可以扩展这个新的超类。

2)如果功能不是类的组成部分,您可能希望创建一个“实用程序”类,可以由需要它的每个类调用。

3)在某些情况下,可能适合创建“类别”以扩展您正在进行子类化的类的功能。

通常,请考虑您的对象模型并确定该功能所属的位置。如果你发现自己经常复制粘贴,这是一个警示标志,你的模型可能有点偏。祝你好运!

答案 4 :(得分:0)

正如其他人所说,你有很多选择,但在你更详细地描述你的对象及其结构之前,我们无法确定最佳选择。

答案 5 :(得分:0)

您应该可以使用ObjC Runtime执行此操作,但在我看来,子类化是更好的选择。