Thinking in Java学习笔记(一)对象导论

  最近在看java编程思想,对其中自己的一些收获记录下来,一方面是加强巩固自己的学习,另一方面也是方便以后翻阅查看。

1、将对象看作服务提供者

  把对象当作服务的提供者,也就是指关注对象能实现哪些功能,提供哪些服务?它需要哪些对象支持才能实现这些功能?
  这样做的好处就是:
  1、可以让我们把重心或者说目标转换为:创建或者寻找能够提供理想服务解决方案的一系列对象
  2、并且也有助于帮助提高对象的内聚性

2、类创建者和客户端程序员

  类创建者的任务是构建类,提供类的公有方法,客户端程序员使用这些公有方法接口实现业务功能。通过修饰符如:public、private、protected、缺省来对方法进行访问限制,防止客户端程序员对一些关键的方法进行修改或者破坏。
  其中protectedprivate功能相近,区别在于protected在继承类中可以访问到,而private只能在当前类中才能访问到。
  而缺省也被称为包访问权限,在同一个包中,它就相当于public,而在包外,它就变成了private。

3、 组合和聚合

  Thinking in Java对组合和聚合是这样定义的:composing a new class from existing classes, this concept is called composition (if the composition happens dynamically, it’s usually called aggregation)
  译为:使用现有的类合成新的类,称为组合,如果这种组合是动态的,就称为聚合
  这就是它们之间本质性的区别:组合是静态的,是在类加载前就已经合成了;而聚合是在类加载的过程中进行合成的。
  组合的意义是可以在不修改现有接口以及客户端代码(新类中的代码)的前提下,修改新类的功能,这就是组合的灵活性所在。一般是通过在新类中设定私有的成员变量,然后修改该成员对象方法接口中的代码来实现灵活性。

猜你喜欢

转载自blog.csdn.net/qq_40509039/article/details/83061599