如何简单介绍PHP桥接模式,实例中怎么实现
Admin 2022-09-24 群英技术资讯 1084 次浏览
今天我们来学习关于“如何简单介绍PHP桥接模式,实例中怎么实现”的内容,下文有详解方法和实例,内容详细,逻辑清晰,有需要的朋友可以参考,希望大家阅读完这篇文章后能有所收获,那么下面就一起来了解一下吧。
说明
1、将两个原本不相关的类结合在一起,然后利用两个类中的方法和属性,输出一份新的结果。
2、结构分为抽象类、被提炼的抽象类、实现类、具体实现类和客户端代码。
实例
/**
* 颜色抽象类
* Class Colour
*/
abstract class Colour
{
/**
* @return mixed
*/
abstract public function run();
}
/**
* 黑色
* Class Black
*/
class Black extends Colour
{
public function run()
{
// TODO: Implement run() method.
return '黑色';
}
}
/**
* 白色
* Class White
*/
class White extends Colour
{
public function run()
{
// TODO: Implement run() method.
return '白色';
}
}
/**
* 红色
* Class Red
*/
class Red extends Colour
{
public function run()
{
// TODO: Implement run() method.
return '红色';
}
}
/**
* 形状抽象类
* Class Shape
*/
abstract class Shape
{
/**
* 颜色
* @var Colour
*/
protected $colour;
/**
* Shape constructor.
* @param Colour $colour
*/
public function __construct(Colour $colour)
{
$this->colour = $colour;
}
/**
* @return mixed
*/
abstract public function operation();
}
/**
* 圆形
* Class Round
*/
class Round extends Shape
{
/**
* @return mixed|void
*/
public function operation()
{
// TODO: Implement operation() method.
echo $this->colour->run() . '圆形<br>';
}
}
/**
* 长方形
* Class Rectangle
*/
class Rectangle extends Shape
{
/**
* @return mixed|void
*/
public function operation()
{
// TODO: Implement operation() method.
echo $this->colour->run() . '长方形<br>';
}
}
/**
* 正方形
* Class Square
*/
class Square extends Shape
{
/**
* @return mixed|void
*/
public function operation()
{
// TODO: Implement operation() method.
echo $this->colour->run() . '正方形<br>';
}
}
// 客户端代码
// 白色圆形
$whiteRound = new Round(new White());
$whiteRound->operation();
// 黑色正方形
$blackSquare = new Square(new Black());
$blackSquare->operation();
// 红色长方形
$redRectangle = new Rectangle(new Red());
$redRectangle->operation();
// 运行结果
白色圆形
黑色正方形
红色长方形
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
6.0中间件分为系统中间件和应用中间件,本文就详细的介绍一下Thinkphp6.0中间件的具体使用,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
在thinkphp中,import方法用于类库导入的封装实现,可以对项目类库、扩展类库和第三方类库提供导入支持,语法为“import('类库名', '起始路径', '类库后缀')”;该方法有个别名vendor方法,专门用于导入第三方类库。
有很多小伙伴会遇到代码空行特别多,但是一行一行删除肯定很烦躁,这时候就需要用到批量删除空行。怎么批量删除空行呢?我的办法是用正则把所有空行找到,然后一键全部替换。
今天小编就为大家分享一篇laravel 错误处理,接口错误返回json代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
PHP中JSON数据格式化怎样操作,代码是什么?一些朋友可能会遇到这方面的问题,对此在下文小编向大家来讲解一下,内容详细,易于理解,希望大家阅读完这篇能有收获哦,有需要的朋友就往下看吧!
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008