第三周作业
发布于: 2020 年 06 月 24 日
1. 请在草稿纸上手写一个单例模式的实现代码,拍照提交作业。
请用组合设计模式编写程序,打印输出图 1 的窗口,窗口组件的树结构如图 2 所示,打印输出示例参考图 3。
abstract class Component{ public $id; abstract function print();}class BaseWindow extends Component{ /** * @var $_sub_components Component[] */ private $_sub_components; public function print() { foreach ($this->_sub_components as $key => $component) { $component->print(); } } /** * @param $component Component * @return Component */ public function addSub($component) { return $this->_sub_components[$component->id] = $component; } public function removeSub($id) { unset($this->_sub_components[$id]); }}class WindowForm extends BaseWindow{ public function print() { echo 'winform'; parent::print(); }}class WindowFrame extends BaseWindow{ public function print() { echo 'winframe'; parent::print(); }}class Button extends Component{ public function print() { echo 'button'; }}class Label extends Component{ public function print() { echo 'label'; }}
划线
评论
复制
发布于: 2020 年 06 月 24 日阅读数: 44
刘卓
关注
还未添加个人签名 2018.04.26 加入
还未添加个人简介
评论