桥接模式 实现

//紧耦合
/*public class Main {
   public static void main(String args[])
   {
    HandsetBrand hb;
    hb= new HandsetBrandMAddressList();
    hb.Ran();
    hb=new HandsetBrandMGame();
    hb.Ran();
    hb=new HandsetBrandNAddressList();
    hb.Ran();
    hb=new HandsetBrandNGame();
    hb.Ran();
 }
}
class HandsetBrand{
 public void Ran() {}
}
class HandsetBrandM extends HandsetBrand{
 
}
class HandsetBrandN extends HandsetBrand{
 
}
class HandsetBrandMGame extends HandsetBrandM{
 public void Ran() {
  System.out.println("运行M品牌手机游戏");
 }
}
class HandsetBrandNGame extends HandsetBrandN{
 public void Ran() {
  System.out.println("运行N品牌手机游戏");
 }
}
class HandsetBrandMAddressList extends HandsetBrandM{
 public void Ran() {
  System.out.println("运行M品牌手机通讯录");
 }
}
class HandsetBrandNAddressList extends HandsetBrandM{
 public void Ran() {
  System.out.println("运行M品牌手机通讯录");
 }
}*/
//桥接模式基本代码
/*public class Main {
   public static void main(String args[])
   {
    Abstraction ab=new RefinedAbstraction();
    ab.setImplementor(new ConcreteImplementorA());
    ab.Operation();
    ab.setImplementor(new ConcreteImplementorB());
    ab.Operation();
 }
}
abstract class Implementor{
 public abstract void Operation();
}
class ConcreteImplementorA extends Implementor{
 public void Operation() {
  // TODO Auto-generated method stub
  System.out.println("具体实现A的方法执行");
 }
}
class ConcreteImplementorB extends Implementor{
 public void Operation() {
  // TODO Auto-generated method stub
  System.out.println("具体实现B的方法执行");
 }
}
class Abstraction{
 protected Implementor implementor;
 public void setImplementor(Implementor implementor) {
  this.implementor = implementor;
 }
 public void Operation() {
  implementor.Operation();
 }
}
class RefinedAbstraction extends Abstraction{
 public void Operation() {
  implementor.Operation();
 }
}*/
//松耦合/桥接模式
public class Main {
   public static void main(String args[])
   {
    HandsetBrand hb;
    hb=new HandsetBrandN();
    hb.setSoft(new HandsetGame());
    hb.Run();
    hb.setSoft(new HandsetAddressList());
    hb.Run();
    hb=new HandsetBrandM();
    hb.setSoft(new HandsetGame());
    hb.Run();
    hb.setSoft(new HandsetAddressList());
    hb.Run();
 }
}
abstract class HandsetSoft{
 public abstract void Run();
}
class HandsetGame extends HandsetSoft{
 public void Run() {
  // TODO Auto-generated method stub
  System.out.println("运行手机游戏");
 }
}
class HandsetAddressList extends HandsetSoft{
 public void Run() {
  // TODO Auto-generated method stub
  System.out.println("运行手机通讯录");
 }
}
abstract class HandsetBrand{
 protected HandsetSoft soft;
 public void setSoft(HandsetSoft soft) {
  this.soft = soft;
 }
 public abstract void Run();
}
class HandsetBrandN extends HandsetBrand{
 public void Run() {
  // TODO Auto-generated method stub
  soft.Run();
 }
}
class HandsetBrandM extends HandsetBrand{
 public void Run() {
  // TODO Auto-generated method stub
  soft.Run();
 }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
桥接模式是一种设计模式,它用于将抽象部分与实现部分分离,使它们可以独立地变化。在Java中,桥接模式可以用于实现格式转换。 下面是Java桥接模式实现格式转换的基本步骤: 1. 定义抽象类(Abstraction):抽象类定义了抽象部分的接口,并包含一个对实现部分对象的引用。 2. 定义实现类接口(Implementor):实现类接口定义了实现部分的接口。 3. 创建具体实现类(ConcreteImplementor):具体实现实现实现类接口,并提供具体的实现逻辑。 4. 创建具体抽象类(ConcreteAbstraction):具体抽象类继承了抽象类,并实现了抽象部分的接口。 5. 在具体抽象类中调用实现部分的方法:在具体抽象类中,通过调用实现部分对象的方法来完成格式转换。 下面是一个简单的Java桥接模式实现格式转换的示例代码: ```java // 定义抽象类 abstract class FormatConverter { protected FormatImplementor implementor; public FormatConverter(FormatImplementor implementor) { this.implementor = implementor; } public abstract void convert(); } // 定义实现类接口 interface FormatImplementor { void convertFormat(); } // 创建具体实现类 class XMLFormatImplementor implements FormatImplementor { @Override public void convertFormat() { System.out.println("将数据转换为XML格式"); } } class JSONFormatImplementor implements FormatImplementor { @Override public void convertFormat() { System.out.println("将数据转换为JSON格式"); } } // 创建具体抽象类 class DataConverter extends FormatConverter { public DataConverter(FormatImplementor implementor) { super(implementor); } @Override public void convert() { implementor.convertFormat(); } } // 使用示例 public class Main { public static void main(String[] args) { FormatImplementor xmlImplementor = new XMLFormatImplementor(); FormatImplementor jsonImplementor = new JSONFormatImplementor(); FormatConverter xmlConverter = new DataConverter(xmlImplementor); xmlConverter.convert(); // 输出:将数据转换为XML格式 FormatConverter jsonConverter = new DataConverter(jsonImplementor); jsonConverter.convert(); // 输出:将数据转换为JSON格式 } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值