<------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
没有返回值有参数的方法
1.没有返回值 没有参数
- (void)方法名称;
2.没有返回值 有参数的方法定义格式
- (void)方法名称:(参数类型)参数名称 and参数2:(参数类型)参数2;
3.有返回值,有参数的方法
定义格式:
- (返回值数据类型)方法名称:(参数类型)参数名称 and参数2:(参数类型)参数2;
4.有返回值 没有参数
- (返回值数据类型)方法名称;
5.方法访问成员变量
在同一个类中,可以通过方法名称,直接访问.
6.对象跟函数参数
6.1.直接把对象的属性传递过去,在函数当中更改不了属性值(值传递)
6.2.直接把对象的地址传递过去,在函数当中可以更改属性值(地址传递)
6.3.直接把对象的地址传递过去,在函数当中定义另外一个类,此时,改变了对象的地址,无法在函数当中更改属性值.
7.方法的调用:对象方法
[对象 方法];
#import <Foundation/Foundation.h>
@interface Person : NSObject
{
@public
NSString *_name;
int _age;
float _weight;
}
//定义人的行为
-(void)eat:(NSString *)foodName foodNUM:(int) num;
//散步
-(void)walk:(int) num;
-(void)show;
@end
@implementation Person
//定义人的行为
-(void)eat:(NSString *)foodName foodNUM:(int) num{
_weight--;
NSLog(@"人吃了%@吃了%d",foodName,num);
}
//散步
-(void)walk:(int) num{
_weight -=num/100*0.2f;
NSLog(@"您走了%d步,当前体重为:%.2f",num,_weight);
}
//显示信息
-(void)show{
NSLog(@"姓名是%@,年龄是%d,体重是%.2f",_name,_age,_weight);
}
@end
#import "Person.h"
int main(int argc, const char * argv[]) {
@autoreleasepool {
Person *p=[Person new];
//设置对象的值通过对象->访问成员变量。
p->_weight = 180.0f;
p->_name = @"gyy";
p->_age = 20;
[p eat:@"红烧肉" foodNUM:3];
[p walk:400];
[p show];
}
return 0;
}
结果