¡¾ÆäËü»°Ìâ¡¿ÇóÖúÒ»¶Îjava codeСµÜÄ¿Ç°¸Õ¸ÕÉÏÊÖjava, ¿´µ½think in javaÀïÓÐÕâÒ»¶Îcode£¬ÈçÏ£º
//:
reusing/SprinklerSystem.java
//
Composition for code reuse.
class
WaterSource {
private
String s;
WaterSource()
{
System.out.println("WaterSource()");
s =
"Constructed";
}
public
String toString() { return s; }
}
public
class SprinklerSystem {
private
String valve1, valve2, valve3, valve4;
private
WaterSource source = new WaterSource();
private
int i;
private
float f;
public
String toString() {
return
"valve1 = " + valve1 + " " +
"valve2
= " + valve2 + " " +
"valve3
= " + valve3 + " " +
"valve4
= " + valve4 + "\n" +
"i
= " + i + " " + "f = " + f + " " +
"source
= " + source;
}
public
static void main(String[] args) {
SprinklerSystem
sprinklers = new SprinklerSystem();
System.out.println(sprinklers);
}
}
¡¡
/*
Output:
WaterSource()
valve1
= null valve2 = null valve3 = null valve4 = null
i =
0 f = 0.0 source = Constructed
*///:
ʵÔÚ²»¶®ÎªÊ²Ã´×îºóoutputÀïµÄsource=Constructed. ÌصØÇ°À
(more...)
²»ÖªµÀÓÐû½âÊͶÔ
SprinklerSystemÀàÀïÃ涨ÒåÁËsoureÕâÒ»±äÁ¿
private WaterSource source = new WaterSource();
Ò²¾ÍÊÇ˵source Õâ¸ö±äÁ¿ÊôÓÚWaterSourceÀà
È»ºómain³ÌÐòÖÐSystem.out.println(sprinklers)»áµ÷ÓÃ
public String toString() {
return
"valve1 = " + valve1 + " " +
"valve2 = " + valve2 + " " +
"valve3 = " + valve3 + " " +
"valve4 = " + valve4 + "\n" +
"i = " + i + " " + "f = " + f + " " +
"source = " + source;
}
ÕâÀïÃæ"source = " + source;ÕâÒ»¾äÓÖ»áµ÷ÓÃsourceÕâÒ»±äÁ¿£¨ÊôÓÚWaterSourceÀࣩÖеÄ
public String toString() { return s; }
¶øsµÄ³õʼֵÊÇ Constructed
private WaterSource source = new WaterSource();
Ò²¾ÍÊÇ˵source Õâ¸ö±äÁ¿ÊôÓÚWaterSourceÀà
È»ºómain³ÌÐòÖÐSystem.out.println(sprinklers)»áµ÷ÓÃ
public String toString() {
return
"valve1 = " + valve1 + " " +
"valve2 = " + valve2 + " " +
"valve3 = " + valve3 + " " +
"valve4 = " + valve4 + "\n" +
"i = " + i + " " + "f = " + f + " " +
"source = " + source;
}
ÕâÀïÃæ"source = " + source;ÕâÒ»¾äÓÖ»áµ÷ÓÃsourceÕâÒ»±äÁ¿£¨ÊôÓÚWaterSourceÀࣩÖеÄ
public String toString() { return s; }
¶øsµÄ³õʼֵÊÇ Constructed