1.1、类合成的语法
为进行合成,我们只需在新类里简单地置入对象句柄即可。举个例子来说,假定需要在一个对象里容纳几个String 对象、两种基本数据类型以及属于另一个类的一个对象。对于非基本类型的对象来说,只需将句柄置于新类即可;而对于基本数据类型来说,则需在自己的类中定义它们。如下所示:
class WaterSource {
private String s;
WaterSource() {
System.out.println("WaterSource()");
s = new String("Constructed");
}
public String toString() {
return s;
}
}
public class SprinklerSystem {
private String valve1, valve2, valve3, valve4;
WaterSource source;
int i;
float f;
void print() {
prt("valve1 = " + valve1);
prt("valve2 = " + valve2);
prt("valve3 = " + valve3);
prt("valve4 = " + valve4);
prt("i = " + i);
prt("f = " + f);
prt("source = " + source);
}
public static void main(String[] args) {
SprinklerSystem x = new SprinklerSystem();
x.print();
}
static void prt(String s) {
System.out.println(s);
}
}
1.2、类合成的典型应用
//Composition with public objects
class Engine {
public void start() {
}
public void rev() {
}
public void stop() {
}
}
class Wheel {
pub