如果我的术语似乎不正确,请原谅......(因为它可能是)
假设我正在使用组合,而我的高级对象类似于:
abstract child
{
/* array of Activity objects */
public $activities;
abstract function punish() {}
}
favoriteChild extends child
{
function punish() {
// Have a talk
}
}
redHeadedStepChild extends child
{
function punish() {
// Beat with wrench
}
}
现在假设它$activities
由更多对象组成,其中一个是StealingCookiesFromJar
。
如何punish
从StealingCookiesFromJar
对象内部调用具体的子方法?(我不熟悉观察者......这是我应该在这里学习的吗?)