博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Objective-C学习笔记(十九)——对象方法和类方法的相互调用
阅读量:6403 次
发布时间:2019-06-23

本文共 924 字,大约阅读时间需要 3 分钟。

      事实上在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主页:  。欢迎大家訪问!

你可能感兴趣的文章
Java发送邮件
查看>>
我的友情链接
查看>>
openstack介绍和初探索
查看>>
我的友情链接
查看>>
perl fork
查看>>
怎么样做Troubleshooting(Root Cause)
查看>>
【华为技术】DHCP配置
查看>>
天地图应用开发许可申请说明!!!尽快修改天地图数据接口
查看>>
linux 生成hash密码的问题
查看>>
MyBatis入门示例
查看>>
解决谷歌被封 打不开
查看>>
nginx + uwsgi 部署
查看>>
Why Blog
查看>>
阅读源码时候的技巧
查看>>
ios push界面怎么拿到push前的界面和push后的界面
查看>>
恢复被误删除的oracle数据文件(一)
查看>>
【oracle】系统权限、对象权限、角色
查看>>
Linux 系统启动流程详解
查看>>
Nginx_PHP配置文件结构设计
查看>>
6421B Lab12 控制和监视网络存储
查看>>