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
原创粉丝点击