桥接模式(bridge):适用于多层继承机构 ,最少两个维度。
比如 日志管理
1.按格式分类
操作日志,交易日志
2.按距离分类
本地记录日志,异地记录日志
普通的多层次继承
//普通多层次结构继承 public interface Computer { void sale(); } //台式机 class Desktop implements Computer{ public void sale() { System.out.println("台式机"); } } //笔记本 class Laptop implements Computer{ public void sale() { System.out.println("笔记本"); } } //联想台式机 class LenovoDesktop extends Desktop{ public void sale() { System.out.println("联想台式机"); } } //联想笔记本 class LenovoLaptop extends Laptop{ public void sale() { System.out.println("联想笔记本"); } }
桥接模式
//桥接模式 public abstract class Computer2 { protected Pinpai pinpai; public Computer2(Pinpai pinpai) { this.pinpai = pinpai; } public void sale(){ pinpai.sale(); } public static void main(String[] args) { Computer2 computer2 = new Desktop2(new Lenovo()); computer2.sale(); } } class Desktop2 extends Computer2{ public Desktop2(Pinpai pinpai) { super(pinpai); } public void sale(){ super.sale(); System.out.println("台式机"); } } class Laptop2 extends Computer2{ public Laptop2(Pinpai pinpai) { super(pinpai); } public void sale(){ super.sale(); System.out.println("笔记本"); } }
//品牌 public interface Pinpai { void sale(); } class Lenovo implements Pinpai{ public void sale() { System.out.println("联想"); } } class Dell implements Pinpai{ public void sale() { System.out.println("戴尔"); } }
把两种分类分离开来。
在一种类别中引入另一种,利用组合的方式实现多层继承结构
优点:相互独立,容易扩展
时间: 2024-10-16 21:51:46