黑马程序员技术交流社区

标题: OC中set与get都是怎么使啊? [打印本页]

作者: 闫跃文    时间: 2014-9-23 09:34
标题: OC中set与get都是怎么使啊?
OC中的set与get方法都是怎么声明定义的,怎么调用啊,求大神具体讲解..................

作者: 王庆功    时间: 2014-9-23 09:58
视频里都有讲解 啊
作者: 高三那年的球球    时间: 2014-9-23 10:18
在哪个@interface里声明,定义是@implementation里,- (void)setAge(int)age   - (int)age   
作者: 闫跃文    时间: 2014-9-23 10:19
高三那年的球球 发表于 2014-9-23 10:18
在哪个@interface里声明,定义是@implementation里,- (void)setAge(int)age   - (int)age

调用格式呢????
作者: 高三那年的球球    时间: 2014-9-23 10:24
闫跃文 发表于 2014-9-23 10:19
调用格式呢????

Person *p = [Person new];
[p setAge:10];貌似这样,你看一下视频
作者: 七年级生    时间: 2014-9-23 10:33
  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. }
复制代码

作者: 七年级生    时间: 2014-9-23 10:35
这是我学习时做的笔记  你参考一下。
作者: 1014917278    时间: 2014-9-23 21:14
点可以搞定一切
作者: 闫跃文    时间: 2014-9-24 00:39
七年级生 发表于 2014-9-23 10:33

非常感谢
作者: 水了个淼    时间: 2014-9-24 08:29
set 是用来封装数据的   get 是用来得到数据的
作者: 萧雨流风    时间: 2014-9-24 08:30
多看看视频吧




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2