笔记
来源:互联网 发布:二小姐脸型数据 编辑:程序博客网 时间:2024/06/14 14:54
第四章:类和接口
第13条:使类和成员的可访问性最小化
第一规则:尽可能的使每个类或者成员不被外界访问。
私有的——只在声明该成员的顶层类内内部才可以访问这个成员
包级私有——声明该成员的类的子类可以访问这个成员(但有一些限制)并且,声明该成员包内部的任何类也可以访问这个成员
公有的——在任何地方都可以访问该成员
第14条:在公有类中使用访问方法而非公有域
第15条:使可变化性最小
1. 不要提供任何会修改对象状态的方法
2. 保证类不会被扩展
这样可以防止粗心或者恶意的子类假装对象的状态已经改变,从而破坏该类的不可变行为
3. 使所有的域都是final的
通过系统的强制方式,这样可以清楚的表明你的意图。但是,如果一个指向新创建的实例的的引用在缺乏同步机制的情况下,从一个线程传递到另一个线程,就必须确保正确的行为
4. 使所有的域都成为私有的
这样可以防止客户端获得访问被域指引的可变对象的权限,并防止客户端直接修改这些对象
5. 确保对任何可变组件的互斥访问
如果类具有指向可变对象的域,则必须确保该类的客户端无法获得指向这些对象的引用,并且,永远不要有客户端提供的对象引用来初始化这样的域,也不要从任何访问方法(accessor)中返回该对象引用
第16条:复合优于继承
继承,是实现代码复用的有力手段,但它并非是完成这项工作的最佳工具,使用不当会导致软件变得很脆弱
0 0
- 笔记
- 笔记
- 笔记
- 笔记
- 笔记
- 笔记
- 笔记
- 笔记
- 笔记
- 笔记
- 笔记
- 笔记
- 笔记
- 笔记
- 笔记
- 笔记
- 笔记
- 笔记
- iOS 在xib或者storyboard中添加AutoLayout后,在代码中修改AutoLayout约束条件
- Ajax简单案例
- 桶排序和基数排序 Java
- php简单的邮件系统
- MySQL存储引擎中的MyISAM和InnoDB区别详解
- 笔记
- 20.OpenGL--环境映射
- 模拟键盘API函数Keybd_event用法
- 21.OpenGL--多重纹理
- 欢迎使用CSDN-markdown编辑器
- 虚拟化与云计算期末复习
- 1.two sum个人刷题小结
- 缓存方面的原理问题
- SeekBar动态更新Thumb图片