像在Java中一样覆盖objective-c类中的方法

时间:2012-10-26 15:31:05

标签: java objective-c

我经常使用此语句来扩展类,而无需编写完整的单独文件。假设ClassFromFramework是一个类,它是库中包含的框架的一部分。

public ClassFromFramework {

   public String myMethod() {
      // operations
   }

   //lot of other methods....

}

然后在我的班上我可以做到以下几点:

import com.framework.ClassFromFramework;

public MyClass {

   public void method() {

      ClassFromFramework m = new ClassFromFramework() {
        @Override
        public String myMethod() {
          // do operations...
        }
      } 

      m.myMethod();
   }
}

我想知道我是否可以使用Objective-c实现相同的目标,而无需声明新的组合.h .m文件并导入我的使用类。

1 个答案:

答案 0 :(得分:0)

您可以创建一个新的子类,并覆盖方法,但所有新类必须在它们自己的.h& .m文件。这就是Obj-C的运作方式。在这种情况下,拥有其他文件是有意义的。

您也可以使用单词super调用父方法。这在子类化ViewController时始终完成,例如在viewDidLoad。