码迷,mamicode.com
首页 > 其他好文 > 详细

Objective-C学习笔记(十九)——对象方法和类方法的相互调用

时间:2015-07-24 10:47:13      阅读:115      评论:0      收藏:0      [点我收藏+]

标签:objective-c   对象方法   类方法   xcode   

      其实在OC的对象方法(减号方法)和类方法(加号方法)并不是相互独立的,它们也可以发生千丝万缕的关系,今天我们来研究下它们两者相互调用的问题。该例子还是以People类为基础。

(一)对象方法调用类方法:

(1)先在People.h中分别声明两个方法:

-(void)show;

+(void)showw2;



(2)然后在People.m中分别实现两个方法,并在对象方法中调用类方法,调用方式也是用  “类名 方法名”进行。

-(void)show{

    NSLog(@"我是一个对象方法,我被调用了!");
    [People show2];//调用类方法
}

+(void)show2{

    NSLog(@"我是一个类方法,我被调用了!");
//    [[People alloc] show];
}

(3)最后在main.m中调用对象方法:

People *people = [[People alloc] init];//注意没有在main.m中直接调用
        [people show ];
        

(4)随后的输出结果如下,先输出对象方法中的内容,然后输出类方法中的内容,结果符合预期。类方法成功在对象方法中被调用。

技术分享


(二)类方法调用对象方法

(1)先在People.h中分别声明两个方法:

-(void)show;

+(void)showw2;

(2)在People.m文件中实现两个方法,并在类方法中调用对象方法,注意是如何调用的。[People alloc]相当于实例化了一个对象,使用该对象调用show对象方法;

-(void)show{

    NSLog(@"我是一个对象方法,我被调用了!");
}

+(void)show2{

    NSLog(@"我是一个类方法,我被调用了!");
    [[People alloc] show];
}

(3)最后在mian.m中调用类方法show2.

[People show2];

(4)输出结果如下,先输出类方法中的内容,再输出对象方法中的内容,符合我们的预期:

技术分享


         总之,减号方法和加号方法的相互调用使我们的代码更为灵活,编程更为方便。

版权声明:本文为博主原创文章,未经博主允许不得转载。

Objective-C学习笔记(十九)——对象方法和类方法的相互调用

标签:objective-c   对象方法   类方法   xcode   

原文地址:http://blog.csdn.net/chenyufeng1991/article/details/47035847

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!