1.setter方法

  • 作用:用来设置成员变量,可以在方法里面过滤掉一些不合理的值

  • 命名规范:

    • 必须是对象方法
    • 返回值类型为void
    • 方法名必须以set开头,而且后面跟上成员变量名去掉”_” 首字母必须大写
    • 必须提供一个参数,参数类型必须与所对应的成员变量的类型一致
    • 形参名称和成员变量去掉下划线相同
  • 举例:

  如:如果成员变量为int _age 那么与之对应seter方法为
  -(void) setAge: (int) age;

  • setter方法的好处
  1. 不让数据暴露在外,保证了数据的安全性
  2. 对设置的数据进行过滤

2.getter方法

  • 作用:为调用者返回对象内部的成员变量的值

  • 命名规范:

    • 必须是对象方法
    • 必须有返回值,返回值的类型和成员变量的类型一致
    • 方法名必须是成员变量去掉下划线
    • 一定是没有参数的
  • 举例

如:如果成员变量为int _age 那么与之对应geter方法为
- (int) age;

  • getter方法的优点:

    • 可以让我们在使用getter方法获取数据之前,对数据进行加工;
    • 比如双十一活动,我们希望对全线商品的价格在原来的价格基础上打五折,那么我们只要去改成品类的价格的getter方法就可以了,让他返回的值为价格 * 0.5

3.getter/setter方法注意

  • 在实际的开发中,不一定set和get方法都会提供,如果内部的成员变量,比如学生的学号或计算出来的数据。这样的数据只允许外界读取,但是不允许修改的情况,则通常只提供get方法而不提供set方法 。

  • 成员变量名的命名以下划线开头,get方法名不需要带下划线

  • 成员变量名使用下划线开头有两个好处

    • 与get方法的方法名区分开来
    • 可以和一些其他的局部变量区分开来,下划线开头的变量,通常都是类的成员变量。当我看到以下划线开头变量,那么他一定是成员变量
 

最新文章

  1. dojo.require()的相关理解
  2. Convert a given Binary Tree to Doubly Linked List
  3. Color Space: HSI
  4. 我有一个 APP 创意,如何将其实现?
  5. Android打电话&发短信
  6. hdu 1973 Prime Path
  7. Eclipse实用快捷键
  8. 判断checked是否选中
  9. Cheap CK100 1024 tokens NXP FIX Chip on Eobd2
  10. iOS开发系列之触摸事件
  11. .NET Core初体验 - 在Mac下运行第一个Web示例程序
  12. D3.js data() 方法详解
  13. MySQL读写分离技术
  14. Bug 笔记
  15. 201521123106《java程序设计》第二周学习总结
  16. Android Data Binding高级用法-Observable、动态生成Binding Class(三)
  17. 使对象可以像数组一样进行foreach循环,要求属性必须是私有
  18. GuavaCache学习笔记二:Java四大引用类型回顾
  19. Deep Photo的TensorFlow版本
  20. 【LeetCode】217. Contains Duplicate (2 solutions)

热门文章

  1. pod运行到指定node节点
  2. Xstart远程连接Linux图形用户界面
  3. 查询 Oralce 某 schema 所拥有的权限
  4. wget 工具使用
  5. POJ2891Strange Way to Express Integers
  6. 18张图,详解SpringBoot解析yml全流程
  7. leetcode 645. 错误的集合
  8. 1013day-人口普查系统
  9. MySQL查询处理——逻辑查询处理和物理查询处理
  10. 一文读懂HarmonyOS服务卡片怎么换肤