采用 [[self class] alloc] 时,如果类派生了子类,产生的将是类型相同的子类对象,而不是基类对象,好的版本采用“id newInstance =[[self] init);“,而优秀的版本采用“id newInstance =[[[self class] alloc ] init);”