thinking in java 阅读笔记 第一章 对象入门

来源:互联网 发布:淘宝网用户体验 编辑:程序博客网 时间:2024/05/17 06:09

第一章:对象入门

面向对象编程(OOP)的好处: 对管理人员,它实现了更快和更廉价的开发与维护过程。对分析与设计人员,建模处理变得更加简单,能生成清晰、易于维护的设计方案。对程序员,对象模型显得如此高雅和浅显。

1.1抽象的进步

所有编程语言的最终目的都是提供一种”抽象”方法.

1.2 对象的接口

可以理解为 ”类型”决定了接口,”类”是接口的一种特殊实现方式.(这一块并没有理解得特别透彻)

1.3 实现方法的隐藏

public,private,protected(继承类可以使用)以及暗示性的friendly(包使用)

1.4 方案的重复使用

         这一点在良好编程风格时特别有用,一般来说,尽量少采用继承这种灵活性不强的方式. 创建并测试好一个类后,它应(从理想的角度)代表一个有用的代码单位。为重复使用一个类,最简单的办法是仅直接使用那个类的对象。但同时也能将那个类的一个对象置入一个新类。我们把这叫作“创建一个成员对象”。新类可由任意数量和类型的其他对象构成。无论如何,只要新类达到了设计要求即可。这个概念叫作“组织”——在现有类的基础上组织一个新类。有时,我们也将组织称作“包含”关系,比如“一辆车包含了一个变速箱”。

对象的组织具有极大的灵活性。项目中经常看到的Action 、Service、Dao层通过spring注入就是典型的这种方案的实现。这也体现了软件设计中高内聚低耦合的思想。

1.5 继承:重新使用接口

         当创建一种类型后,需要创建一种功能大致相同的新类型,利用现成的数据类型,对其进行“克隆”,再根据情况进行添加和修改,这就是继承。(很多情况下可以用前面提到的“组织”来实现)。到底应该用不用继承是应该分析到底是等价或者类似,如果是等价(可以将衍生类的一个对象替换成基础类的对象),则可以用继承,如果类似,则应该创建新类,如制冷机与空调的例子.(假定我们的房间连好了用于制冷的各种控制器;也就是说,我们已拥有必要的“接口”来控制制冷。现在假设机器出了故障,我们把它换成一台新型的冷、热两用空调,冬天和夏天均可使用。冷、热空调“类似”制冷机,但能做更多的事情。由于我们的房间只安装了控制制冷的设备,所以它们只限于同新机器的制冷部分打交道。新机器的接口已得到了扩展,但现有的系统并不知道除原始接口以外的任何东西。)

1.6 上溯造型与动态绑定,抽象类与接口

         ”上溯造型”(Upcasting),也就是说可以将子类对象传递给父类句柄处理。如常见的Map param=new HashMap();

         动态绑定,也就是说,将子类对象传递给父类句柄,句柄执行某一方法时,会调用具体子类的实现方法。编译器和运行期系统会负责对所有的细节进行控制。

         抽象类的目的就是可以创建一个基础类的接口,但是不允许任何人直接用这个类创建对象,而是继承这个抽象类创建衍生类,然后上溯造型,使用统一的接口。

         而接口更进一步,完全禁止了所有函数的定义。

1.7对象的创建和存在空间

         Java采用的对象创建方法时在内存池中动态创建对象,提供垃圾收集器。所以java比c++性能更差( C++认为性能更加重要),但是更加灵活方便。Java采用单根结构就跟垃圾收集器有关,另外就是java不需要像c++一样向后兼容c。

         Java提供了各种几何与集成器的封装,让程序员忽略存储的具体实现情况下轻松存储对象。但是应当注意选择合理的集合以优化性能。

1.8 Exception

         在Java中,违例控制模块是从一开始就封装好的,所以必须使用它!如果没有自己写一些代码来正确地控制违例,就会得到一条编译期出错提示。这样可保证程序的连贯性,使错误控制变得更加容易。

1.9 多线程

         介绍基本概念,如果要学习更多,建议《java7 并发编程实战》

阅读全文
0 0
原创粉丝点击