//

//  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. SwithAndActivity 选择开关和活动指示

    ////  ViewController.m//  SwithAndActivity////  Created by qianfeng on 15/9/21.//  Copyright (c) 201 ...

  2. C#学习笔记之线程 - 高级主题:非阻塞同步

    非阻塞同步 - Nonblock Synchronization 前面提到,即使在简单的赋值和增加一个字段的情况下也需要处理同步.尽管,使用锁可以完成这个功能,但是锁必定会阻塞线程,需要线程切换,在高 ...

  3. CSS的继承与优先级

    CSS样式继承性 body,div,p{} html文档可以上图的种种节点树的形式表示,css层叠样式表中的各元素也有这种对应关系 <body>是文档中最大的根节点,body中的所有元素都 ...

  4. Exploit搭建

    1,三连下小水管真是慢.去洗澡先. 2,环境变量Path里添加Python安装目录.直接cd到git下来的目录运行sqlmap.py 更新sqlmap,sqlmap.py –update 或 git ...

  5. 登堂入室——java流

    ——文章出自PeterYe,不得私自转载 我所知道的 java.io里面的[流],就仿佛太平洋里面的水一样,浩浩荡荡,横无际涯... -----2016/7/16--------公寓处记录------ ...

  6. JQGrid+Nhibernate+Webservice+Linq

    先上效果图:   前台代码(jqgridtest.aspx): <%@ Page Language="C#" AutoEventWireup="true" ...

  7. discuz管理中心无法登陆

    检查下配置文件,当前管理是不是创始人. 如是,那试下修改数据库,在数据表出错时也会这样,还有一个也同时试下 \config\config_global.php 文件 $_config['admincp ...

  8. jquery 点击查看,收起特效

    <div class="all"> <p><a href="javascript:;" id="onvk"&g ...

  9. Editplus 中将文本换行替换为<p>标签的正则表达式

    在Editplus.Notepad++编辑器里文本直接复制到在线编辑器里是不带<p>标签的,只是简单的将换行"\n"替换为"<br />" ...

  10. json 语义分析

    json 中:元素与值用冒号 ":" 隔开元素与元素用逗号 "," 隔开{} 之间是一个对象, 对象可以层层嵌套[] 表示数组, 数组元素用逗号 ", ...