学堂 学堂 学堂公众号手机端

如何简单介绍PHP桥接模式,实例中怎么实现

lewis 1年前 (2024-03-19) 阅读数 4 #技术

今天我们来学习关于“如何简单介绍PHP桥接模式,实例中怎么实现”的内容,下文有详解方法和实例,内容详细,逻辑清晰,有需要的朋友可以参考,希望大家阅读完这篇文章后能有所收获,那么下面就一起来了解一下吧。


 



说明

1、将两个原本不相关的类结合在一起,然后利用两个类中的方法和属性,输出一份新的结果。

2、结构分为抽象类、被提炼的抽象类、实现类、具体实现类和客户端代码。

实例

/**
*颜色抽象类
*ClassColour
*/
abstractclassColour
{
/**
*@returnmixed
*/
abstractpublicfunctionrun();
}


/**
*黑色
*ClassBlack
*/
classBlackextendsColour
{
publicfunctionrun()
{
//TODO:Implementrun()method.
return'黑色';
}
}


/**
*白色
*ClassWhite
*/
classWhiteextendsColour
{
publicfunctionrun()
{
//TODO:Implementrun()method.
return'白色';
}
}


/**
*红色
*ClassRed
*/
classRedextendsColour
{
publicfunctionrun()
{
//TODO:Implementrun()method.
return'红色';
}
}


/**
*形状抽象类
*ClassShape
*/
abstractclassShape
{
/**
*颜色
*@varColour
*/
protected$colour;


/**
*Shapeconstructor.
*@paramColour$colour
*/
publicfunction__construct(Colour$colour)
{
$this->colour=$colour;
}


/**
*@returnmixed
*/
abstractpublicfunctionoperation();
}


/**
*圆形
*ClassRound
*/
classRoundextendsShape
{
/**
*@returnmixed|void
*/
publicfunctionoperation()
{
//TODO:Implementoperation()method.
echo$this->colour->run().'圆形<br>';
}
}


/**
*长方形
*ClassRectangle
*/
classRectangleextendsShape
{
/**
*@returnmixed|void
*/
publicfunctionoperation()
{
//TODO:Implementoperation()method.
echo$this->colour->run().'长方形<br>';
}
}


/**
*正方形
*ClassSquare
*/
classSquareextendsShape
{
/**
*@returnmixed|void
*/
publicfunctionoperation()
{
//TODO:Implementoperation()method.
echo$this->colour->run().'正方形<br>';
}
}


//客户端代码
//白色圆形
$whiteRound=newRound(newWhite());
$whiteRound->operation();

//黑色正方形
$blackSquare=newSquare(newBlack());
$blackSquare->operation();

//红色长方形
$redRectangle=newRectangle(newRed());
$redRectangle->operation();


//运行结果
白色圆形
黑色正方形
红色长方形


“如何简单介绍PHP桥接模式,实例中怎么实现”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业技术相关的知识可以关注博信网站,小编每天都会为大家更新不同的知识。
版权声明

本文仅代表作者观点,不代表博信信息网立场。

热门