一直沒能以相當找到我要找的,雖然主題類似的許多問題......A類負載,並持有B類,想從B類調用方法
例子:
class A {
public $_Thing_B; // class B object
}
class B {
public function printSelf() {}
}
構建時,Class A
將自己的對應版本Class B
拉入其中,該對象用於Class A
中的各種私有方法。
但是Class B
確實有一些公開的方法,只在代碼中「處理」Class A
(因此不直接與獨立實例Class B
一起工作)仍然有用。
因此,有時我想做到這一點:
$objA = new A;
$result = $objA->$_Thing_B->printSelf();
,並在我看來,保持這個功能的唯一途徑是通過聲明Class B
在裏面Class A
公共變量。
這是正確的嗎?還是有辦法保持私密性,同時仍然暴露某些公共方法?
在這種情況下不會繼承更有意義嗎? – NullUserException
同意NullUserException。這種解決方案將來會給您帶來問題。 –
@NullUserException - 我不確定,這是一個揹包/書/頁數問題,如果這使事情更清楚。 – Drew