笔记

来源:互联网 发布:二小姐脸型数据 编辑:程序博客网 时间:2024/06/14 14:54

第四章:类和接口

第13条:使类和成员的可访问性最小化

第一规则:尽可能的使每个类或者成员不被外界访问。

  • 私有的——只在声明该成员的顶层类内内部才可以访问这个成员

  • 包级私有——声明该成员的类的子类可以访问这个成员(但有一些限制)并且,声明该成员包内部的任何类也可以访问这个成员

  • 公有的——在任何地方都可以访问该成员

第14条:在公有类中使用访问方法而非公有域

第15条:使可变化性最小

1. 不要提供任何会修改对象状态的方法

2. 保证类不会被扩展
这样可以防止粗心或者恶意的子类假装对象的状态已经改变,从而破坏该类的不可变行为

3. 使所有的域都是final的
通过系统的强制方式,这样可以清楚的表明你的意图。但是,如果一个指向新创建的实例的的引用在缺乏同步机制的情况下,从一个线程传递到另一个线程,就必须确保正确的行为

4. 使所有的域都成为私有的
这样可以防止客户端获得访问被域指引的可变对象的权限,并防止客户端直接修改这些对象

5. 确保对任何可变组件的互斥访问
如果类具有指向可变对象的域,则必须确保该类的客户端无法获得指向这些对象的引用,并且,永远不要有客户端提供的对象引用来初始化这样的域,也不要从任何访问方法(accessor)中返回该对象引用

第16条:复合优于继承

继承,是实现代码复用的有力手段,但它并非是完成这项工作的最佳工具,使用不当会导致软件变得很脆弱

0 0
原创粉丝点击