1

私は Objective C でこれを行っていますが、これはさまざまな共通言語間で共通の動作です。

静的変数またはメソッドがサブクラスに継承されないことは知っていますが、次のことを行うための最良の方法を知りたいと思います:

次の基本モデルを持ついくつかのクラス (たとえば 10) があります。

static id A

@interface MyClass

 + (void) doSomethingWithA;

@end


@implementation MyClass
    + (void) doSomethingWithA {
        [A doSomething];
        [A doOtherThing];
        //do more things
    }

@end

コードはすべてのクラスでまったく同じですが、メソッドが静的であるため (クラスごとに A のインスタンスを 1 つだけ持ちたい)、サブクラス化を使用してコードの繰り返しを回避することはできません。

大量のコードをコピーして貼り付けるのは本当に避けたいと思います。

この場合のベストプラクティスはどれですか?

4

1 に答える 1

0

継承と必要なものすべてを使用してインスタンスメソッドにし、静的インスタンス(シングルトンなど)を作成してそれらを呼び出してみませんか?

于 2012-12-04T07:11:50.850 に答える