适配器模式可以是一个类,将需要适配的对象进行成员实例化,同时继承原对象,在保持原对象原方法接口不变的情况下,覆写原方法,调用成员实例的方法实现新的功能
见代码
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
| class Target{ request(){ console.log('普通请求'); } }
class Starget{ specificRequest(){ console.log('特殊请求'); }; }
class Adaptee extends Target{ public sd: Starget;
constructor(s: Starget){ super(); this.sd = s; }
request(){ this.sd.specificRequest(); } }
const client = (t: Target) => { t.request(); }
(function main(){ const sd = new Starget(); const ad = new Adaptee(sd); client(ad); })()
|