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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 闫跃文 中级黑马   /  2014-9-23 09:34  /  2278 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

OC中的set与get方法都是怎么声明定义的,怎么调用啊,求大神具体讲解..................

10 个回复

倒序浏览
视频里都有讲解 啊
回复 使用道具 举报
在哪个@interface里声明,定义是@implementation里,- (void)setAge(int)age   - (int)age   
回复 使用道具 举报
高三那年的球球 发表于 2014-9-23 10:18
在哪个@interface里声明,定义是@implementation里,- (void)setAge(int)age   - (int)age

调用格式呢????
回复 使用道具 举报

Person *p = [Person new];
[p setAge:10];貌似这样,你看一下视频
回复 使用道具 举报
  1. #import <Foundation/Foundation.h>
  2. @interface Student : NSObject
  3. {
  4.   //不能直接访问age要通过方法setAge访问,为了有范围  以后尽量不能写@public
  5.    int age;
  6. }
  7. /*提供一个方法,给外界纯粹用来设置(age)属性的,称为set方法
  8.   可以再方法里面对参数进行过滤,如果想要数据“只写”,可只写一个set方法(不常用)
  9. 1、方法名必须以set开头
  10. 2、set后跟上成员变量的名称,成员变量的首字母必须大写
  11. 3、返回值一定是void
  12. 4、一定要接收一个参数,而且参数类型跟成员变量一致
  13. 5、形参的名称不能跟成员变量名一样
  14. */
  15. /*
  16. 没有了@public还要想在main函数中直接访问stu->age则要使用get方法
  17. get 方法   (如果要数据只读  ,只提供get方法)
  18. 1、作用,返回对象内部的成员变量。保证内部数据的安全。  
  19. 2、命名规范
  20.   肯定有返回值,返回值类型肯定与成员变量类型一致
  21.   方法名跟成员变量名一样
  22.   不需要接收任何参数
  23.   
  24. */
  25. - (void)setAge:(int)newAge;   //set函数
  26. - (int)age;                //get函数
  27. - (void)study;
  28. @end

  29. @implementation Student
  30. - (void)setAge:(int)newAge
  31. {
  32.    if(newAge <= 0)
  33. {
  34. newAge = 1;
  35. }
  36.    age = newAge;
  37. }

  38. - (int)age
  39. {
  40.    return age;
  41. }

  42. - (void)study
  43. {
  44. NSLog(@”%d的人在学习”, age);
  45. }
  46. @end

  47. int main()
  48. {
  49. Student *stu =[Student new];

  50. [stu setAge:0];
  51. NSLog(@”学生的年龄是%d岁”, [stu age]);  //此age是get函数中的age。输出1岁
  52. [stu study];  //输出1岁的
  53. return 0;     
  54. }
复制代码
回复 使用道具 举报
这是我学习时做的笔记  你参考一下。
回复 使用道具 举报
1014917278 来自手机 中级黑马 2014-9-23 21:14:12
8#
点可以搞定一切
回复 使用道具 举报
回复 使用道具 举报
set 是用来封装数据的   get 是用来得到数据的
回复 使用道具 举报
多看看视频吧
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马