iOS self和super的区别_移动开发_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > 移动开发 > iOS self和super的区别

iOS self和super的区别

 2013/7/15 22:48:25  Flying-deam-ios  博客园  我要评论(0)
  • 摘要:self和super的区别#import<Foundation/Foundation.h>首先先写两个类fist和two,two继承fist类@interfaceFirst:NSObject{inta;//声明了一个变量}-(void)setA:(int)c;//对a赋值的方法@end@implementationFirst-(void)setA:(int)c{a=c;}@end//类2@interfaceTwo:First{intb;}-(void)setB:(int)d;-
  • 标签:iOS 区别

self和super的区别

#import <Foundation/Foundation.h>

首先先写两个类 fist和two,two继承fist类

@interface First:NSObject

{

    int a;//声明了一个变量

}

-(void) setA:(int)c;//对a赋值的方法

@end

@implementation First

 

-(void)setA:(int)c

{

    a=c;

}

 

@end

 

//类2

@interface Two : First

{

    int b;

}

-(void)setB:(int)d;

-(void)print;

@end

@implementation Two

-(void)setB:(int)d

{

    b=d;

}

-(void)print

{

    NSLog(@"a的值为%d\nb的值为%d",a,b);

    NSLog(@"这时self==%@",[self class]);

    NSLog(@"super=====%@",[superclass]);

}

 

@end

 

 

int main(int argc, const char * argv[])

{

 

    @autoreleasepool {

            

        Two *two=[[Two alloc] init];

        NSLog(@"这时frist中的函数");

        [two setB:2];

        NSLog(@"这是two中的函数");

        [two setA:1];

        

        [two print];

        

      

    }

    return 0;

}

运行的结果是:

这时我们看到self和super的值一样  区别在哪呢????

 

其实是这样的  self和super都是指的是类的对象   self指的是本类的对象,而super指的是父类的对象

他们相当于系统自己声明的一个类对象  ,,,,,

发表评论
用户名: 匿名