OC 成员变量与方法

来源:互联网 发布:电信80端口 编辑:程序博客网 时间:2024/05/18 14:42
////  main.m//  oc02_成员变量与方法////  Created by Vision on 9/12/14.//  Copyright (c) 2014 Vision. All rights reserved.//#import <Foundation/Foundation.h>#import "Person.h"#import "Family.h"#import "Student.h"int main(int argc, const char * argv[]){    @autoreleasepool {        //对外是否课件(一):main.m        Person *liuwei = [[Person alloc]init];        liuwei->_nickName = @"伟哥";        //setter 赋值        //getter 取值        [liuwei setName:@"刘伟"];        [liuwei setSex:@"男"];        [liuwei setMoney:1223.22];        [liuwei introduce];                Family *family = [[Family alloc]init];        [family changePerson];                Student *xueweichao = [[Student alloc]initWithName:@"学维持" sex:@"男" money:213212];        [xueweichao sayHi];                //有返回值的使用方法        //1.直接用        Person *wuDongSheng = [[Person alloc]initWithName:@"吴东升" sex:@"男" money:123123.12];        NSLog(@"%@",[wuDongSheng name]);                Person *xuanZhekongjuzheng = [[Person alloc]init];        [xuanZhekongjuzheng setMoney:[wuDongSheng money]];        [wuDongSheng setMoney:0];        //2.间接用        float money = [xuanZhekongjuzheng money];        NSLog(@"%f",money);                Student *yaoge =[[Student alloc]initWithName:@"瑶哥" sex:@"你说呢" money:123456789];        [yaoge sayHi];            }    return 0;}
<pre name="code" class="objc">////  Person.h//  oc02_成员变量与方法////  Created by Vision on 9/12/14.//  Copyright (c) 2014 Vision. All rights reserved.//#import <Foundation/Foundation.h>@interface Person : NSObject{@public    NSString *_nickName;//昵称@protected    NSString *_name;//真名    NSString *_sex;//性别@private    float _money;//财产    }//- (id)initWithName:(NSString *)name;//initWithName: 方法名- (id)initWithName:(NSString *)name sex:(NSString *)sex money:(float)money;//initWithName:sex:money: 方法名///赋值方法///姓名的setter(设置器)- (void)setName:(NSString *)name;///性别的setter- (void)setSex:(NSString *)sex;///财产的setter- (void)setMoney:(float)money;///取值方法///姓名的getter(访问器)- (NSString *)name;///性别的getter- (NSString *)sex;///财产的getter- (float)money;- (void)introduce;@end

////  Person.m//  oc02_成员变量与方法////  Created by Vision on 9/12/14.//  Copyright (c) 2014 Vision. All rights reserved.//#import "Person.h"@implementation Person- (id)initWithName:(NSString *)name sex:(NSString *)sex money:(float)money{    _name = name;    _sex = sex;    _money = money;    return self;}///姓名的setter(设置器)- (void)setName:(NSString *)name{    _name = name;}///性别的setter- (void)setSex:(NSString *)sex{    _sex = sex;}///财产的setter- (void)setMoney:(float)money{    _money = money;    }- (void)introduce{    NSLog(@"名字 %@ 昵称 %@ 性别 %@ 财产 %f",          _name, _nickName, _sex,_money);}///姓名的getter(访问器)- (NSString *)name{    return _name;}///性别的getter- (NSString *)sex{    return _sex;}///财产的getter- (float)money{    return _money;}@end

////  Family.h//  oc02_成员变量与方法////  Created by Vision on 9/12/14.//  Copyright (c) 2014 Vision. All rights reserved.//#import <Foundation/Foundation.h>@interface Family : NSObject- (void)changePerson;@end

////  Family.m//  oc02_成员变量与方法////  Created by Vision on 9/12/14.//  Copyright (c) 2014 Vision. All rights reserved.//#import "Family.h"#import "Person.h"@implementation Family- (void)changePerson{    //对外可见与否的第二种情形:其他类    Person *p = [[Person alloc]init];    p->_nickName = @"昵称是公共的";        Person *father = [[Person alloc]init];    [father setName:@"爸爸"];    [father setSex:@"男"];    [father setMoney:1231.123];    [father introduce];       Person *mother= [[Person alloc]init];    [mother setName:@"妈妈"];    [mother setSex:@"女"];    [mother setMoney:32131.123];    [mother introduce];        Person *me= [[Person alloc]init];    [me setName:@"我"];    [me setSex:@"男"];    [me setMoney:32131.123];    [me introduce];}@end

////  Student.h//  oc02_成员变量与方法////  Created by Vision on 9/12/14.//  Copyright (c) 2014 Vision. All rights reserved.//#import "Person.h"@interface Student : Person- (void)sayHi;//方法名 sayHi@end

////  Student.m//  oc02_成员变量与方法////  Created by Vision on 9/12/14.//  Copyright (c) 2014 Vision. All rights reserved.//#import "Student.h"@implementation Student- (void)sayHi{//    NSLog(@"我叫%@,大家都喜欢称呼我%@,目前性别是%@,有%fRMB财产!",//          _name, _nickName, _sex, _money);// _money是私有        NSLog(@"我叫%@,大家都喜欢称呼我%@,目前性别是%@,有%fRMB财产!",          _name, _nickName, _sex, [self money]);}@end



0 0