7.桥接模式

来源:互联网 发布:各种软件logo图标 编辑:程序博客网 时间:2024/04/30 05:00

//桥接模式

package 桥接模式;

//软件
abstract class Software{//定义实现部分的抽象类

  public abstract void Run();//定义抽象方法
}

//游戏软件
class GameSoftware extends Software{//具体实现

public void Run(){
System.out.println("运行手机软件");
}

}

//Mp3软件
class Mp3Software extends Software{//具体实现
public void Run(){
System.out.println("运行Mp3软件");
}

}

//手机
abstract class Phone{//定义抽象部分的抽象类
protected Software s;
/*public Phone(Software s){//可以用构造函数对数据成员进行初始化
this.s=s;
}*/
public void SetSoftware(Software s){//被提炼的抽象
this.s=s;
}
public abstract void Show();//定义抽象方法

}

//Iphone手机
class Iphone4 extends Phone{//被提炼的抽象
public void Show(){
System.out.print("Iphone4手机可以:");
 s.Run();
}
}
//Nokia手机
class Nokia extends Phone{//被提炼的抽象
public void Show(){
System.out.print("Nokia手机可以:");
  s.Run();
}
}

public class TestClass {
public static void main(String[] args) {
Phone p=new Nokia();

p.SetSoftware(new Mp3Software());
p.Show();

p.SetSoftware(new GameSoftware());
p.Show();

}

}

原创粉丝点击