刘小汶

路漫漫其修远兮,吾将上下而求索。

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
封装
  1. 封装就是成员变量的封装;
  2. 要有成员变量就要有类;有声明就有实现;
  3. @public表示下面的成员变量可以被别人任意赋值;
  4. 修改成员变量的方法:
  5. 第一个方法是直接对成员变量访问;
  6. 第二个方法是通过方法来传递成员变量来修改;
  7. 提供一个方法给外界设置age属性值;不需要返回值;
  8. 设置成员变量:
  9. 一般我们提供一个方法给别人来设置成员变量我们一般称为set方法
  10. set方法:
  11. 作用:可以在方法中对参数进行过滤;
  12. 命名规范:方法名必须以set开头;set后面跟上成员变量的名称,而且成员变量的首字母必须大写;
  13. set方法返回值一定是void;
  14. 一定要接收一个参数,而且参数类型跟成员边个两类型一致;形参的名称不能跟成员变量一样;
  15. - (void) setAge:(int)age; 
  16. set方法实现;
  17. - (void) setAge:(int)newAge{
    1. if (newAge <= 0)
    2. {
      1. newAge =1;
    3. }
    4. new = newAge;
  18. }
  19. 调用方法:
  20. Student *stu = [Student new];
  21. [stu setAge:10];
  22. 把成员变量设置到一个方法中,就是对成员变量的封装;
  23. 返回对象内部的成员变量:
  24. get方法
  25. 命名规范:肯定有返回值,返回值类型与成员变量类型一致;
  26. get方法的方法名与成员变量名一致;
  27. 声明:
  28. - (int)age;
  29. 实现:
  30. - (int)age
  31. {
    1. return age;
  32. }
  33. 调用:
  34. NSLog(@"学生的年龄是:%d",[stu age]);
  35. 如果只允许外界访问我的学好NO,不允许外界修改我的No;解决方法:只需要提供get方法;不提供set方法;
  36.  
  37. 封装的细节:
  38. 成员变量的命名规范:一定要以下划线 _ 开头
  39. 作用:让成员变量和get方法的名称区分开;可以跟局部变量区分开,一看到下划线开头的变量,一般都是成员变量;
  40. 监听成员变量的改变;
posted on 2016-04-08 17:58  williamliuwen  阅读(655)  评论(0编辑  收藏  举报