一、应用背景
不同颜色的汽油车、电动车。
二、定义
合成复用原则是将已有对象纳入到新对象中,作为新对象的对象成员来实现,新对象可以调用已有对象的功能,从而达到复用。
桥接设计模式是将抽象部分与它的实现部分分离,使他们都可以独立的变化。(抽象部分Car和实现部分IClor之间独立变化),从而避免继承产生大量子类的问题。
优点:
缺点
三、代码
//把汽车颜色变成实现,把汽车编程抽象
public interface IClor
{
string ShowColor();
}
public class Red : IClor
{
public string ShowColor()
{
return "红色";
}
}
public class White : IClor
{
public string ShowColor()
{
return "白色";
}
}
public class Black : IClor
{
public string ShowColor()
{
return "黑色";
}
}
public abstract class Car
{
public abstract void Move(IClor color);
}
public class QiyouCar : Car
{
public override void Move(IClor color)
{
Console.WriteLine(color.ShowColor()+"颜色的汽油车在奔驰");
}
}
public class DaindongCar : Car
{
public override void Move(IClor color)
{
Console.WriteLine(color.ShowColor() + "颜色的电动车在奔驰");
}
}
DaTing daTing = new DaTing();
daTing.KaiZhengMing();
Car car = new QiyouCar();
car.Move(new Red());
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。