我有一个类,我希望在另一个类中使用方法,并且不想再次创建这些方法。 我知道这是一个愚蠢的问题,但我从未这样做过。
谢谢,
答案 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执行此操作,但在我看来,子类化是更好的选择。