黑马程序员技术交流社区
标题: 对象和方法之间的关系 [打印本页]
作者: Star_FDt78 时间: 2015-12-19 21:48
标题: 对象和方法之间的关系
对象和方法之间的关系
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);
}
作者: daniel661 时间: 2015-12-20 08:23
马上要学oc了,还看不懂
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |