OC 02 方法
来源:互联网 发布:nginx sub filter 编辑:程序博客网 时间:2024/06/04 19:57
OC 02 方法 2016.08.10
oc的方法分为:+ 和 - 方法
- 实例方法
1.方法的调用
[实例化对象 方法名];
2.方法书写
1) - (返回值类型)方法名;
2) - (返回值类型)方法名:(参数类型)参数名;
3) - (返回值类型)方法名参数描述1:(参数类型)参数名1
Person.m文件中:
- (instancetype)init
{
self = [superinit];
if (self) {
_name = @"coco";
_age = 22;
}
return self;
}
主函数中:
//1.无返回值,无参数
Person *person = [[Personalloc]init];
[person sayHi];
- (返回值)方法名参数描述名:(参数类型)参数名;
Person.m文件中:
- (void)lentMoney:(NSInteger)money
{
NSLog(@"你借给我%ld$",money);
}
主函数中:
//2.无返回值,有参数
[person lentMoney:100];
-(返回值)方法名参数描述名1:(参数类型)参数名 参数描述名2:(参数类型)参数名;
Person.m文件中:
- (NSInteger)lentMoney1:(NSInteger)money
{
NSLog(@"你借给我%ld$",money);
return money;
}
-(NSInteger)sumOfNumber1:(NSInteger)number1 number2:(NSInteger)number2
{
return number1 + number2;
}
主函数中:
//3.有返回值,有参数
NSInteger money = [person lentMoney1:100];
NSLog(@"money = %ld",money);
NSInteger sum = [person sumOfNumber1:3 number2:6];
NSLog(@"sum = %ld",sum);
调用方式:[对象名 方法名];
+ 类方法
1.方法调用
[类名方法名];
2.方法书写(基本和实例方法一样,只是改了符号)
+ (类名)方法名
+ (类名)方法名:(参数类型)参数名
Person.m文件中:
+ (void)sayHello
{
NSLog(@"你好");
}
主函数中:
[Person sayHello];
调用方式:[类名 方法];
便利构造方法(调用时候简单,所有的在.m文件里做好了(用加法方法))
Person.m文件中:
+ (Person *)person
{
Person *person = [[Personalloc]init];
return person;
}
+(Person *)personWithName:(NSString *)name age:(NSInteger)age
{
Person *person = [[Personalloc]initWithName:nameage:age];
return person;
}
主函数中:
Person *per = [Personperson];
NSLog(@"%@",per);
Person *per1 = [PersonpersonWithName:@"kiki"age:22];
NSLog(@"%@",per1);
重点看NSString stringWithFormat
Person.m文件中:
- (NSString *)drinkTea:(NSString *)tea water:(NSString *)water
{
NSString *string = [NSStringstringWithFormat:@"我想喝%@泡的%@",water,tea];
return string;
}
主函数中:
NSString *drink = [person drinkTea:@"龙井" water:@"农夫山泉"];
NSLog(@"%@",drink);
setter,gettter提供点语法
Person.m文件中:
- (void)setName:(NSString *)name
{
_name = name;
}
- (NSString *)name
{
return _name;
}
- (void)setAge:(NSInteger)age
{
_age = age;
}
- (NSInteger)age
{
return _age;
}
主函数中:
//两个点语法都是在调方法
per.name = @"yy"; // [persetName:@"yy"];
NSLog(@"name = %@",per.name);//[pername]
per.age = 20;
NSLog(@"age = %ld",per.age);
description方法
(1) 子类可以重写父类方法,NSObject有一个方法为descrption
(2) 该方法返回NSString,用于描述该对象- 当使用NSLog(@”%@“,对象)时,会默认调用该对象的description方
(3) 如果我们不重写此方法会默认调用NSObject的该方法,返回形如:<类名:地址>的
(4)子类中重写该方法可以返回自定义对象信息
//该方法无需手动调用(解决打印对象是地址的情况)
重写description
- (NSString *)description{
NSString *string = [NSStringstringWithFormat:@"name = %@ age = %ld",_name,_age];
return string;
}
比较年龄大小
- (NSInteger)compareAgeOfPerson:(Person *)person{
return self.age - person.age;
}
- OC 02 方法
- 【OC】OC description方法
- OC-方法
- OC语言学习02-构造方法与类方法
- oc工厂模式方法
- OC 类 and 方法
- OC NSString 常用方法
- OC构造方法、Category
- OC--字典常用方法
- OC中的方法
- OC方法关键字
- OC字符串方法总结
- OC语言构造方法
- OC构造方法
- OC之构造方法
- OC语言中的方法
- OC 字符串常用方法
- OC语言--构造方法
- 小火山的计算能力(字符串)
- java多线程---生产者消费者模式
- 系统函数I/O操作与标准库函数流操作
- 读取TXT文件中数据,数据间空格分割
- Openstack-L 路由注入方式
- OC 02 方法
- JPG+mask替代透明Png
- Codeforces Round #223 (Div. 2) E Sereja and Brackets
- POJ 3261Milk Patterns
- 通道和选区的关系
- linux minicom usb串口
- PHP.INI配置:Session配置详细说明
- hdu5806 two-pointers
- Delphi学习笔记(三)