EC笔记:第4部分:22、所有成员都应该是private的

更简单的访问

用户不用记得什么时候该带上括号,什么时候不用带上括号(因为很确定的就要带上括号)

访问限制

对于public的成员变量,我们可以随意对其设置值(无论合法还是非法,它都会无条件接受)

但是我们如果将其设置为private的,那么就可以只向外暴露接口,我们不仅可以通过这些接口控制成员的访问权限(读写、只读、只写、禁止访问),而且还可以对传入的值做校验,指定哪些值可以设置,哪些不可以。

更易维护

我们将成员设置为public,假如某一天,我们发现、这个变量设置的并不合理(可能需要改变其名称或者类型),我们必须对每个使用了此成员变量的用户代码做修改。

而如果我们只是暴露了接口,我们可以在累的内部直接修改,只要保持访问接口不变。

最新文章

  1. android 一些常用开源框架
  2. AngularJS之开发组件的一些思路
  3. [ActionScript 3.0] AS3调用百度天气预报查询API
  4. HDU 2672 god is a girl (字符串处理,找规律,简单)
  5. Implement the hash table using array / binary search tree
  6. CocoaPods使用详细说明(转)
  7. 《Effective C++》:条款46-条款47
  8. 修改html很实用的insertAdjacentHTML方法
  9. Oracle trunc()函数
  10. JavaScript instanceof 运算符深入剖析【转载】
  11. jdbc参数
  12. [USACO13JAN] Seating
  13. 复位windows网络参数的方法
  14. 爬取拉勾网招聘信息并使用xlwt存入Excel
  15. Kotlin入门(30)多线程交互
  16. CentOS 6.5环境下使用HAProxy+apache实现web服务的动静分离
  17. linux上安装vmtools
  18. c#泛型与其他语言的对比(深入理解c#)
  19. 润乾V4报表批量打印
  20. web基础---->okhttp的使用

热门文章

  1. C++ 可配置的类工厂
  2. C语言 · 时间转换
  3. 8.仿阿里云虚拟云服务器的FTP(包括FTP文件夹大小限制)
  4. Javascript面向对象类文章目录
  5. [APUE]文件和目录(中)
  6. Android学习探索之Java 8 在Android 开发中的应用
  7. 从零开始编写自己的C#框架(27)——什么是开发框架
  8. Linux碎碎念
  9. [笔记]HAproxy reload config file with uninterrupt session
  10. python之最强王者(9)——函数