A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Star_FDt78 中级黑马   /  2015-12-19 21:48  /  581 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

对象和方法之间的关系

1.对象作为方法的参数

#import <Foundation/Foundation.h>

@interface Person : NSObject
{
@public
    int _age;
    NSString *_name;
}
-(void)displayPerson:(Person *) person;
@end

@implementation Person

-(void)displayPerson:(Person *) person{

    NSLog(@"名字:%@  年龄:%d",person->_name,person->_age);
}

@end
int main(){

    Person *p1 = [Person new];
    Person *p2 = [Person new];

    p1->_name = @"Star";
    p1->_age =18;

    p2->_name = @"Jack";
    p2->_age = 21;

    [p1 displayPerson:p1];
    [p2 displayPerson:p2];

}

2.对象作为方法的返回值

#import <Foundation/Foundation.h>

@interface Person : NSObject
{
@public
    int _age;
    NSString *_name;
}
-(void)displayPerson:(Person *) person;
-(Person *)changeSex:(Person *) person;
@end

@implementation Person

-(void)displayPerson:(Person *) person{

    NSLog(@"名字:%@  年龄:%d",person->_name,person->_age);
}

-(Person *)changeSex:(Person *) person{

    person->_age = 66;
    NSLog(@"名字: %@ 年龄: %d",person->_name,person->_age);
    return person;
}


@end
int main(){

    Person *p1 = [Person new];
    Person *p2 = [Person new];

    p1->_name = @"Star";
    p1->_age =18;

    p2->_name = @"Jack";
    p2->_age = 21;

    [p1 displayPerson:p1];
    [p2 changeSex:p2];

    Person *p3 = [p2 changeSex:p2];//p3和p2指向的是同一个空间

    NSLog(@"名字: %@ 年龄: %d",p2->_name,p2->_age);

}


1 个回复

倒序浏览
daniel661 来自手机 中级黑马 2015-12-20 08:23:37
沙发
马上要学oc了,还看不懂
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马