title: What's the Point of Using [self class]
body: <p>Is this code correct</p>
  
  <pre><code>@implementation Vehicle
  +(id) vehicleWithColor:(NSColor*)color {
      id newInstance = [[[self class] alloc] init]; // PERFECT, the class is // dynamically identified
      [newInstance setColor:color];
      return [newInstance autorelease];
  }
  @end
  </code></pre>
  
  <p>Why use [self class]</p>
  
  <p>I thought self already points to the class on static methods (the ones with +)</p>