第三周作业

发布于: 2020 年 06 月 24 日

1. 请在草稿纸上手写一个单例模式的实现代码,拍照提交作业。

  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';
}
}

用户头像

刘卓

关注

还未添加个人签名 2018.04.26 加入

还未添加个人简介

评论

发布
暂无评论
第三周作业