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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© socl_ycl 中级黑马   /  2015-9-18 16:49  /  353 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

封装set/get方法
  1. @interface Student : NSObject
  2. {
  3.     // 成员变量尽量不要用@public
  4.     // @public
  5.     int age;

  6.     //@public
  7.     // 只读(readonly):只允许外界访问我的no,不允许外界修改我的no
  8.     int no; // 只需要提供get方法
  9. }

  10. //
  11. /*
  12. set方法
  13. 1.作用: 提供一个方法给外界设置成员变量值,可以在方法里面对参数进行相应过滤
  14. 2.命名规范:
  15. 1> 方法名必须以set开头
  16. 2> set后面跟上成员变量的名称,成员变量的首字母必须大写
  17. 3> 返回值一定是void
  18. 4> 一定要接收一个参数,而且参数类型跟成员变量类型一致
  19. 5> 形参的名称不能跟成员变量名一样
  20. */
  21. - (void)setAge:(int)newAge;

  22. /*
  23. get方法
  24. 1.作用:返回对象内部的成员变量
  25. 2.命名规范:
  26. 1> 肯定有返回值,返回值类型肯定与成员变量类型一致
  27. 2> 方法名跟成员变量名一样
  28. 3> 不需要接收任何参数
  29. */
  30. - (int)age;

  31. - (void)study;

  32. @end

  33. @implementation Student

  34. // set方法的实现
  35. - (void)setAge:(int)newAge
  36. {
  37.     // 对传进来的参数进行过滤
  38.     if (newAge <= 0)
  39.     {
  40.         newAge = 1;
  41.     }

  42.     age = newAge;
  43. }

  44. - (int)age
  45. {
  46.     return age;
  47. }

  48. - (void)study
  49. {
  50.     NSLog(@"%d岁的学生在学习", age);
  51. }

  52. @end

  53. int main()
  54. {
  55.     Student *stu = [Student new];
  56.     //stu->age = -10;

  57.     //stu->age = 10;

  58.     [stu setAge:10];


  59.     NSLog(@"学生的年龄是%d岁", [stu age]);

  60.     //[stu study];


  61.     return 0;
  62. }
复制代码




1 个回复

倒序浏览
求版主大人给移动到IOS吧,一不小心发错地方了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马