第6章 合成
一、合成的语法
对象引用初始化,可在下面这些地方进行:
(1) 在对象定义的时候。这意味着它们在构建器调用之前肯定能得到初始化。
(2) 在那个类的构建器中。
(3) 紧靠在要求实际使用那个对象之前。这样做可减少不必要的开销——假如对象并不需要创建的话。
Bath.java
在类内作为字段使用的基本数据会初始化成零;对象句柄会初始化成null,而且假若试图为它们中的任何一个调用方法,就会产生一次“违例”。
例:SprinklerSystem.java
二、什么时候使用合成
如果想利用新类内部一个现有类的特性,而不想使用它的接口,通常应选择合成。也就是说,我们可嵌入一个对象,使自己能用它实现新类的特性。但新类的用户会看到我们已定义的接口,而不是来自嵌入对象的接口。考虑到这种效果,我们需在新类里嵌入现有类的private对象。
例:Car.java
本文介绍了合成的概念及其在编程中的应用场景。合成允许在一个类中使用另一个现有类的功能,而不暴露其接口。文章通过实例说明了如何及何时使用合成,并解释了对象引用初始化的不同方式。

被折叠的 条评论
为什么被折叠?



