Java编程思想-1对象入门

本章解释Java的多项设计思想

1抽象的进步

面向对象的程序设计是什么样的?

  • 所有的东西都是对象。可将对象想成新型变量:保存着数据,但要求他对自身进行操作;
  • 程序是一堆对象的组合;
  • 每个对象都有自己的存储空间,可容纳其他对象;或者说通过封装现有对象,可以制作出新型对象;
  • 每个对象都有一个类型;根据语法,每个对象都是某个类的实例;类是类型的同一,其中类最重要的特征是:能将什么消息发给它?
  • 同一个类的所有对象能接收相同的消息;OOP的重要概念,对象的“可替换性”;

2对象的接口

        建好一个类后,可根据情况生成多个对象。随后,可将这些对象作为可解决问题中的存在的元素进行处理。

句柄的意思是:对象的引用

3实现方案的隐藏

        “接口”规定了可对一个特定的对象发出那些请求。然而,必须在某个地方存在着一些代码,以便满足这些请求。这些代码和那些隐藏起来的数据叫做“隐藏的实现”。

   Java采用三个显式(明确)关键字以及一个隐式来设定类边界

  本类 本包 子类 外部包
public
proteced ×
friendly/defaut × ×
private × × ×

4方案的重复使用

   新类可由任意数量和类型的其他对象构成。这个概念叫做“组织”。在现有类的基础上组织一个新类。新类的成员对象通常设为“私有”。我们可以在不干扰客户代码的前提下,从容修改那些成员,也可以在运行期更改成员,增大了灵活性。继承并不具备这种灵活性,因为编译器必须对通过继承创建的类加以限制。

  新建类的时候,首先应该考虑“组织”对象;而非继承。这样做显得更加简单和灵活。利用对象的组织,我们的设计可以保持清爽。

5继承:重新使用接口

   使用继承时,相当于创建了一个新类。这个新类不仅包含了现有类型的所有成员,而且复制了基础类的接口。也就是说,可想基础类对象发送的所有接口也会原样发送给衍生类的对象。根据可以发送的消息,我们能知道类的类型。

  有两种做法将衍生类与基础类区分开:

  a为衍生类添加新函数

   b改善基础类一个现有函数的行为。

5.1改善基础类

  目标:尽管使用的函数的接口未变,但他的新版本具有不同的表现。

5.2等价与类似关系

a:衍生类改善原基础类的函数,衍生类和基础类是一种等价关系

b:衍生类扩展了接口,衍生类和基础类是一种类似关系。

猜你喜欢

转载自www.cnblogs.com/fenglindukou/p/9134981.html