1.对象方法类方法 #import <Foundation/Foundation.h> @interface Person : NSObject {int _age; } - (void)test1; + (void)test2; @end @implementation Person - (void)test1 { NSLog(@"调用了test1方法"); } + (void)test2 { // 在类方法中,self代表的是类。不能用类调用对象方法test1 // [self test1]; // 类方法中不能访问成员变量 // NSLog(@"调用了test2方法-%d", _age); } @end int main() { Person *p = [Person new]; // 对象不能调用类方法 // [p test2]; // 类不能调用对象方法 // [Person test1]; } // 4处错误 2.继承 #import <Foundation/Foundation.h> // 父类要声明在子类的前面 @interface Animal : NSObject { int _age; double _weight; } - (void)test1; + (void)test2; @end @interface Dog : Animal { // 子类不能拥有和父类一样的成员变量 // int _age; double _height; } @end @implementation Dog - (void)test1 { NSLog(@"test1----"); // 这里的super是用来调用父类对象方法的,而test2是个类方法 // [super test2]; } @end @implementation Animal - (void)test1 { NSLog(@"test1----"); } + (void)test2 { NSLog(@"test2----"); } @end // 3处错误
灰摩托(huimotuo)http://www.cnblogs.com/huimotuo/