detergentdelegation.java

来自「JAVA 编程思想 第四版 课后习题答案 代码全!」· Java 代码 · 共 49 行

JAVA
49
字号
// reusing/DetergentDelegation.java
// TIJ4 Chapter Reusing, Exercise 11, page 248
// Modify Detergent.java so that is uses delegation.
import static net.mindview.util.Print.*;

class Cleanser {
	private String s = "Cleanser";
	public void append(String a) { s += a; }
	public void dilute() { append(" dilute()"); }
	public void apply() { append(" apply()"); }
	public void scrub() { append(" scrub()"); }
	public String toString() { return s; }
	public static void main(String[] args) {
		Cleanser x = new Cleanser();
		print(x);
	}
}

public class DetergentDelegation {
	private String s = "DetergentDelegation";
	Cleanser c = new Cleanser();
	public void append(String a) { s += a; }
	// two methods delegated entirely to Cleanser c:
	public void dilute() {
		c.dilute();
	}
	public void apply() {
		c.apply();
		}
	// method delegated in part to Cleanser c:
	public void scrub() {
		append(" DetergentDelegation.scrub()");
		c.scrub();
	}
	public void foam() { append(" foam()"); }
	public String toString() { return s + " " + c; }
	public static void main(String[] args) {
		DetergentDelegation x = new DetergentDelegation();
		x.dilute();
		x.apply();
		x.scrub();
		x.foam();
		print(x);
		print("Testing base class:");
		Cleanser.main(args);
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?