• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

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

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

      事实上在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)输出结果例如以下。先输出类方法中的内容,再输出对象方法中的内容,符合我们的预期:


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


github主页:https://github.com/chenyufeng1991  。欢迎大家訪问!



鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
ObjectiveC中的BOOL,bool,Boolean理解发布时间:2022-07-12
下一篇:
Objective-C中的基本数据类型发布时间:2022-07-12
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap