0
我從委託模式中掌握的是那個類(ClassA),它做了另一個類(ClassB)的工作。 ClassA還必須做更多的事情(有更多的方法)比ClassB做的更多。您可能會想要擁有ClassA子類ClassB。抵制這種誘惑,因爲這是一件錯誤的事情。繼承本身就很慢,正確的設計包括在ClassA中定義ClassB類型的數據成員。這樣一來,你已經消除了子類的需求,並降低了耦合強度關於java中的委託模式
//ClassA
public class ClassA{
private ClassB classB;
//methods
public void doThis(){classB.doThis();}
public void doThat(){…}
}
,這裏是B類
ClassB
public class ClassB{
public void doThis(){…}
}
請告知我的理解是正確的。
這聽起來大致正確,雖然我在這裏沒有看到真正的問題。 –
選擇繼承委派的原因有很多,但我不會說性能就是其中之一。 –
@JBNizet,謝謝你能告訴我爲什麼沒有選擇繼承讓班級更有凝聚力的原因。 – dghtr