如何在子类中使用构造函数类方法?

时间:2013-01-08 02:28:20

标签: objective-c class inheritance constructor class-method

  

可能重复:
  Class methods which create new instances

我觉得我错过了一些重要的东西。我正在为矩阵代数创建一个矩阵类作为抽象超类,该矩阵中的条目作为其子类具有不同的可能性。我的超类称为Matrix,我的子类称为FractionMatrix,其中的条目是Fraction个对象。所以我有这个方便的构造函数:

+ (Matrix *)matrix { // creates an empty matrix object
    return [[Matrix alloc] init];
}

如果在我的代码中我[FractionMatrix matrix],我会得到一个Matrix对象而不是FractionMatrix个对象。是否有一些编写此方法的方法,以便我不需要在子类中覆盖它 - 基本上是self类?

虽然在这个非常简单的情况下简单地覆盖方法并不是很多工作,但是有更多实质的方法可以覆盖无意义的代码重复。

0 个答案:

没有答案