class:获取方法调用类名
superclass:获取方法调用者的父类类名
super:编译修饰符,不是指针,指向父类标志,
本质还是拿到当前对象去调用父类的方法
注意:super并不是拿到父类对象去调用父类方法
1 #import2 @interface Person : NSObject 3 - (void)test; 4 @end 5 6 #import "Person.h" 7 @implementation Person 8 - (void)test 9 {10 // self:SonPerson11 // 输出结果 SonPerson Person self:SonPerson12 NSLog(@"%@ %@ %@",[self class],[self superclass],[super class]);13 }14 @end15 16 #import "Person.h"17 18 @interface SonPerson : Person19 @end20 21 #import "SonPerson.h"22 23 @implementation SonPerson24 - (void)test25 {26 // 输出结果:SonPerson Person SonPerson27 // NSLog(@"%@ %@ %@",[self class],[self superclass],[super class]);28 [super test];29 }30 31 #import "ViewController.h"32 33 #import "SonPerson.h"34 35 @interface ViewController ()36 37 @end38 39 40 #import 41 @interface ViewController : UIViewController42 @end43 44 @implementation ViewController45 - (void)viewDidLoad {46 [super viewDidLoad];47 SonPerson *son = [[SonPerson alloc] init];48 [son test];49 }50 @end
输出结果:SonPerson Person SonPerson