观察下面这段代码和以前代码的区别,主要是看self ; 一般self 是代表当前 对象。

1.#import <Foundation/Foundation.h>2.3.@interface Animal: NSObject4.5.@property int Speed, Legs;6.7.-(void) display;8.9.-(void) set_speed:(int) speed o:(int) legs ;10.11.@end12.13.@implementation Animal14.15.@synthesize Speed,Legs;16.17.-(void) display18.{19. NSLog(@"run speed %i",Speed);20. NSLog(@"I have %i legs",Legs);21.}22.23.-(void) set_speed:(int) speed o: (int) legs24.{25. Speed = speed;26. Legs = legs;27. [self display];28.}29.@end30.31.32.int main(int argc, const char * argv[])33.{34.35. @autoreleasepool {36. Animal *dog;37. 38. dog = [Animal alloc];39. dog = [dog init];40. 41. 42. [dog set_speed:30 o: 4];43. 44. 45. Animal * rabbit = [[Animal alloc] init];46. 47. [rabbit set_speed:56 o:4];48. 49. 50. // insert code here...51. NSLog(@"Hello, World!");52. 53. }54. return 0;55.}