title: Inheritance model for static variables and methods
body: <p><em>I am doing this for Objective C but this is a common behavior among various common languages.</em></p>
  
  <p>I know that Static variables or methods are not inherited to subclasses, however i would want to know which is the best approach to do the following:</p>
  
  <p><strong>I have several classes (say 10) with the following base model:</strong></p>
  
  <pre class="lang-objc prettyprint-override"><code>static id A
  
  @interface MyClass
  
   + (void) doSomethingWithA;
  
  @end
  
  
  @implementation MyClass
      + (void) doSomethingWithA {
          [A doSomething];
          [A doOtherThing];
          //do more things
      }
  
  @end
  </code></pre>
  
  <p><strong>The code is exactly the same for all the classes, but as the methods are static (I only want to have one instance of A per class) then I can't use subclassing to avoid code repeating.</strong></p>
  
  <p><strong>I would really want to avoid copying and pasting so much code.</strong></p>
  
  <p>Which is the best practice in this case?</p>