iOS开发实用技巧—super、superClass、class的区别

class:获取方法调用类名
superclass:获取方法调用者的父类类名
super:编译修饰符,不是指针,指向父类标志,
本质还是拿到当前对象去调用父类的方法
注意:super并不是拿到父类对象去调用父类方法
 
 1 #import <Foundation/Foundation.h>
 2 @interface Person : NSObject
 3 - (void)test;
 4 @end
 5  
 6 #import "Person.h"
 7 @implementation Person
 8 - (void)test
 9 {
10     // self:SonPerson
11     // 输出结果 SonPerson Person self:SonPerson
12      NSLog(@"%@ %@ %@",[self class],[self superclass],[super class]);
13 }
14 @end
15  
16 #import "Person.h"
17 
18 @interface SonPerson : Person
19 @end
20  
21 #import "SonPerson.h"
22 
23 @implementation SonPerson
24 - (void)test
25 {
26     // 输出结果:SonPerson Person SonPerson
27 //    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 @end
38  
39  
40 #import <UIKit/UIKit.h>
41 @interface ViewController : UIViewController
42 @end
43  
44 @implementation ViewController
45 - (void)viewDidLoad {
46     [super viewDidLoad];
47     SonPerson *son = [[SonPerson alloc] init];
48     [son test];
49 }
50 @end
输出结果:SonPerson Person SonPerson

转载于:https://www.cnblogs.com/zengshuilin/p/5776835.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值