私は 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 つだけ持ちたい)、サブクラス化を使用してコードの繰り返しを回避することはできません。
大量のコードをコピーして貼り付けるのは本当に避けたいと思います。
この場合のベストプラクティスはどれですか?