02. 方法
来源:互联网 发布:软件打包 编辑:程序博客网 时间:2024/05/23 13:53
1. 方法(method)
就是类中的函数,写法和函数不同
-(返回值类型)方法名; //无参数
-(返回值类型)方法名:(参数类型)参数名; //一个参数
-(返回值类型)方法名:(参数类型)参数1 :(参数类型)参数2 ...; //多个参数
-(返回值类型)部分方法名:(参数类型)参数1 部分方法名:(参数类型)参数2 ...
":"是方法名的一部分。
//在TREmployee.h中:#import <Foundation/Foundation.h>@interface TREmployee : NSObject@property NSString *name;@property int age;@property BOOL gender;@property double salary;- (void) show; //无参方法- (void)raiseSalary: (double) money; //一个参数- (double) getSlary;- (NSString*)genderToString; //返回的是一个对象需用*,返回地址,引用(指针)- (void) changeName: (NSString*) newName; //OC对象传递需用指针,对象不能随便拷贝- (void)set: (NSString*) newName :(int)newAge; //两个参数- (void)set: (NSString*) newName :(int)newAge :(BOOL)newGender : (double)newSalary ; //四个参数//方法名由若干部分组成- (void)setName: (NSString*)newName andAge: (int)newAge; //部分方法名- (void)setName: (NSString*)newName age: (int)newAge gender:(BOOL)newGender salary:(double)newSalary;@end//在TREmployee.m中:#import "TREmployee.h"@implementation TREmployee- (void) show //无参方法{ NSLog(@"%@, %@, %d, %g", self.name, [self genderToString], self.age, self.salary);}- (void)raiseSalary: (double) money //一个参数{ self.salary += money;}- (double) getSlary{ return self.salary += money;}- (NSString*)genderToString //返回的是一个对象需用*,返回地址,引用(指针){ return self.gender?@"男":@"女";}- (void) changeName: (NSString*) newName //OC对象传递需用指针,对象不能随便拷贝{ self.name = newName; }- (void)set: (NSString*) newName :(int)newAge //两个参数{ self.name = newName; self.Age = newAge;}- (void)set: (NSString*) newName :(int)newAge :(BOOL)newGender : (double)newSalary { self.Name = newName; self.Age = newAge; self.Gender = newGender; self.salary = newSalary;}- (void)setName: (NSString*)newName andAge: (int)newAge //部分方法名{ self.name = newName; self.Age = newAge;}- (void)setName: (NSString*)newName age: (int)newAge gender:(BOOL)newGender salary:(double)newSalary{ self.name = newName; self.age = newAge; self.gender = newGender; self.salary = newSalary}@end//在main.m中:#import "TREmployee.h"void test1(){ TREmployee *e = [TREmployee alloc]; [e show]; e.name = @"Daniel"; [e set:@"Daniel" :30]; [e show]; [e raiseSalary:10000]; [e show]; [e set: @"Daniel" :30 :YES :1234567.78]; [e show]; [e changeName: @"Guodh"]; [e show]; [e set:@"Guodenghong" :31 :YES :123456.78]; [e setName:@"Daniel" andAge: 32]; NSLog(@"你的工资是多少:%g", [e getSalary]); [e setName:@"Daniel" age:30 gender:YES salary:12345]; //部分方法名,最实用}int main(int argc, const char *argv[]){ @autoreleasepool { test1(); } return 0;}
0 0
- 02. 方法
- 方法
- 方法
- 方法
- 方法
- 方法
- 方法
- 方法
- 方法
- 方法
- 方法
- 方法
- 方法
- 方法
- 方法
- 方法
- 方法
- 方法
- 黑马程序员_C语言中函数参数的传递的三种形式
- 学习总结1
- How to Avoid SQL Injection Vulnerabilities
- C#如何禁用Form窗口的最大化按钮
- Say -大前端江湖旗下异想社区上线
- 02. 方法
- 3G调试日记
- 第五周项目2-分数类的雏形
- HDU解题报告——1014
- C#中身份证验证的功能模块(18位)
- 线程睡眠sleep()方法和线程让步yield()方法的主要区别
- Web页面的字体介绍
- QQ for linux 腾讯值得深思
- 牛津词典应用程序/ 网址