方法(函数)的声明与实现、方法(函数)的调用

一、方法(函数)的声明与实现

例1:

声明

-(void)report;       //其中:-、+表示方法的类型:- 表示对象方法,+表示类方法。

                                     //(void)表示返回值,比如void ,则返回空;

                                     //若为(int),则需要return 某个数值;


实现:

-(void)report {

    NSLog(@"- 号:report");

}


调用:

people *p1=[[people alloc]init];

[p1 report];      //p1 为对象名


输出结果:

- 号:report


结论:(-)对象方法是需要用对象名来进行调用的。


例2:

声明

+(void)report2;

其中:-、+表示方法的类型:- 表示对象方法,+表示类方法。


实现:

+(void)report2 {

    NSLog(@"+ 号:report2");

}


调用:

[people report2];  //people 为类名


输出结果:

+ 号:report2


结论:(+)类方法是需要用类名来进行调用的。




二、方法(函数)的调用:


方法(函数)的调用,用“[  ]”表示。

我们知道:[[people alloc] init];

这是常见的初始化方法,这里就涉及到了两个方法的调用。

其中alloc 方法为类方法;而[people alloc] 则为一个对象,也就是说 init 方法是 对象方法。



三、在对象方法和类方法之间的互相调用:


(1)在对象方法中调用类方法:

-(void)report {

    NSLog(@"- 号:report");

   [people report];

}


(2)在类方法中调用对象方法:

+(void)report2 {

    NSLog(@"+ 号:report2");

  [[people alloc]report];先进行实例化,然后直接调用report方法。

}


注意:在对象方法中是可以调用成员变量的,但是类方法只能调用静态变量。如下:

static NSString *_peopleName;   //先声明一个静态变量

+(void)report2 {

  NSLog(@"+ 号:report2");

  [[people alloc]report];先进行实例化,然后直接调用report方法。

_peopleName=@"张三"

}

总结:对象方法和类方法可以互相调用,当然需要类名和实例化变量,类方法不能调用成员变量。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值