//

//  main.m

//  18 - 对象和方法之间的关系

//

//  Created by vic fan on 16/7/14.

//  Copyright © 2016年 李洪强. All rights reserved.

//

/**

*

OC有参有返回值的方法

有参有返回值方法的声明

- (int)sum:(int)x andY:(int)y;

- (int)sum:(int)x andY:(int)y{

return x+y;

关系:

1 对象作为方法的参数;

显示人的信息的方法

- (void)showPerson:(Person *)person;

2 对象作为方法的返回值

变性方法

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

*

*/

#import <Foundation/Foundation.h>

/**

*  类的声明

*/

/**

定义性别枚举

*/

typedef enum{

// 0        1       2

kSexWomen,kSexMan,kSexYao

}Sex;

@interface Person : NSObject{

@public

NSString *_name;//姓名

int _age;//年龄

Sex _sex;//性别

}

/**

*  方法的声明

*/

- (void)showPerson:(Person *)person;

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

@end

@implementation Person

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

NSLog(@"姓名: %@,年龄: %d,性别: %d",person->_name,person->_age,person->_sex);

}

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

person->_sex = kSexWomen;

return person;

}

@end

int main(int argc, const char * argv[]) {

@autoreleasepool {

/**

*  创建对象

*/

Person *p = [Person new];

/**

*  给对象的实例变量赋值

*/

p->_age = 18;

p->_name = @"周杰伦";

p->_sex = kSexMan;

/**

*  调用方法

*/

[p showPerson:p];

NSLog(@"性别:%d",p->_sex);

Person *p2 = [p changeSex:p];

NSLog(@"性别: %d",p2->_sex);

}

return 0;

}

李洪强iOS开发之OC[018]对象和方法之间的关系的更多相关文章

  1. 李洪强iOS开发之OC[017]函数和方法的区别

    // //  main.m //  15 - 函数和对象的方法的区别 // //  Created by vic fan on 16/7/12. //  Copyright © 2016年 李洪强. ...

  2. 李洪强iOS开发之OC[014] -对象的存储细节

    // //  main.m //  13 - 对象的存储细节 // //  Created by vic fan on 16/7/9. //  Copyright © 2016年 李洪强. All r ...

  3. 李洪强iOS开发之OC[010] - 有参方法的声明实现和调用

    // //  main.m //  09 - 有参方法的声明实现和调用 // //  Created by vic fan on 16/7/5. //  Copyright © 2016年 李洪强. ...

  4. 李洪强iOS开发之OC[011] - 有参方法的声明实现以及调用练习

  5. 李洪强iOS开发之OC常见错误汇总

    // //  main.m //  16 - 常见错误汇总 // //  Created by vic fan on 16/7/13. //  Copyright © 2016年 李洪强. All r ...

  6. 李洪强iOS开发之OC[008] -创建一个对象并访问实例变量

    // //  main.m //  07 - 创建一个对象并且访问实例变量 // //  Created by vic fan on 16/7/3. //  Copyright © 2016年 李洪强 ...

  7. 李洪强iOS开发之OC[015]#pragma mark的使用

    // //  main.m //  14 - #pragma mark的使用 // //  Created by vic fan on 16/7/10. //  Copyright © 2016年 李 ...

  8. 李洪强iOS开发之OC[013] -类的创建的练习

    // //  main.m //  12 - 类的创建练习 // //  Created by vic fan on 16/7/9. //  Copyright © 2016年 李洪强. All ri ...

  9. 李洪强iOS开发之OC[012] -类的声明实现小结

    // //  main.m //  11 - 内容总结 // //  Created by vic fan on 16/7/9. //  Copyright © 2016年 李洪强. All righ ...

随机推荐

  1. 暑假集训(4)第二弹 -----递推(hdu2254)

    题意概括:上次小A在你的帮助下成功炼成贤者法阵的第一部分——三角分隔,现在他准备绘制法阵的第二部分——莫测矩形. 而他又遇到了一个问题,他不知道不同矩形到底有多少个. 秉持帮人帮到底,送佛送到西的基本 ...

  2. CAF(C++ actor framework)使用随笔(延迟发送,消息转发,消息优先级)(四)

    e). 消息延迟发送(和前面没太大区别直接上代码) #include <iostream> #include "caf/all.hpp" #include " ...

  3. Java使用泛型类来提高方法的可重用性

    我的技术博客经常被流氓网站恶意爬取转载.请移步原文:http://www.cnblogs.com/hamhog/p/3832268.html,享受整齐的排版.有效的链接.正确的代码缩进.更好的阅读体验 ...

  4. myeclipse 的 working set

    想必大家的myeclipse会有很多工程看的和不方便,那么怎么让它看的简洁一点呢,使用working set 会让你的目录看起来没有那么的多. 首先是怎么创建 working set  ,在新建时选择 ...

  5. 利用Linux下的pthread_mutex_t类型来实现哲学家进餐问题

    首先说一下什么是哲学家进餐问题,这是操作系统课程中一个经典的同步问题, 问题如下:如上图,有6个哲学家和6根筷子(那个蓝色部分表示哲学家,那个紫色长条部分表示筷子),他们分别被编了0~5的号!如果某个 ...

  6. 《PHP扩展开发及内核应用》

    https://github.com/walu/phpbook/blob/master/preface.md

  7. apache重写

    ---- 本文旨在提供如何用Apache重写规则来解决一些常见的URL重写方法的问题,通过常见的实例给用户一些使用重写规则的基本方法和线索. 一.为什么需要用重写规则 ---- 网站的生命在于不断地进 ...

  8. [大牛翻译系列]Hadoop系列性能部分完结

    Hadoop系列性能部分完结.其它的部分发布时间待定. Hadoop系列将不再一日一篇,开始不定期发布.

  9. 最简便的清空memcache的方法

    如果要清空memcache的items,常用的办法是什么?杀掉重启?如果有n台memcache需要重启怎么办?挨个做一遍? 很简单,假设memcached运行在本地的11211端口,那么跑一下命令行: ...

  10. 1036. Boys vs Girls (25)

    #include <stdio.h>#include <string.h>int main(){ int n,i; while(scanf("%d",&am ...