封装 set方法 get方法 oc

江枫思渺然 提交于 2019-11-29 11:42:22
封装
  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. 监听成员变量的改变;
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!