【发布时间】:2011-09-14 20:05:38
【问题描述】:
我有这个代码
鸭类{ 受保护的 $strVocabulary; 公共功能学习(){ $this->strVocabulary = '嘎嘎'; } 公共功能嘎嘎(){ 回声 $this->strVocabulary; } }代码在 PHP 中,但问题不依赖于 PHP。 在它知道嘎嘎之前,鸭子必须学习。
我的问题是:如何仅在调用 Learn() 后才使 Quack() 可调用?
【问题讨论】:
-
不确定我是否理解这个问题。如果您是这样想的话,这两个功能并不相互依赖。它们都修改了
$strVocabulary,但它们并不相互依赖。 -
@Jonathan 从功能的角度来看,它们是分开工作的,但从逻辑的角度来看,您首先必须调用 learn 然后 quack 才能获得一些有效的结果。
-
您的问题也是如此,“如何在调用 Learn 后仅使 Quack 可调用?”还是您只是说这是您的结构,您将在代码中管理方法调用的顺序?
-
@Jonathan - 是的(“如何仅在调用 Learn 后才使 Quack 可调用”)。我也在考虑设计模式,以及这种情况是否与其中一种相关。
标签: oop design-patterns