分离抽象接口及其实现部分。 桥接模式使用”对象间的关联关系”解耦了抽象和实现之间固有的绑定关系,使得抽象和实现可以沿着各自的维度来变化。 所谓抽象和实现沿着各自维度的变化,也就是说抽象和实现不再在同一个继承层次结构中,而是”子类化”它们,使它们各自都具有自己的子类,以便任何组合子类,从而获得多维度组合对象。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
| abstract class TV{ setBrand(){ console.log('设置电视'); } }
class ChangHong extends TV{ setBrand(){ console.log('长虹电视机'); } }
class TCL extends TV{ setBrand(){ console.log('TCL电视机'); } }
class RemoteController{ myTV:TV;
constructor(myTV:TV){ this.myTV = myTV; }
on(){ console.log('打开电视机'); }
off(){ console.log('关闭电视机'); }
setBrand(){ this.myTV.setBrand(); console.log('设置成功'); } }
let r1 = new RemoteController(new ChangHong()); let r2 = new RemoteController(new TCL());
r1.setBrand(); r2.setBrand();
|