ts 装饰者模式

具体类 实现 接口
抽象装饰类 实现同样接口
具体装饰类继承抽象类

/** 
 * 装饰者
 * 抽象组件
 */
interface Order{
    getPrice():number
}

class GoodOrder implements Order{
    getPrice(): number {
       return 100;
    } 
}

abstract class OrderDegriter implements Order{
     order:GoodOrder
     constructor(order:GoodOrder){
        this.order= order
     }
     getPrice(): number {
         return this.order.getPrice()
     }
}


 class OrderDZ extends OrderDegriter{
    
    getPrice(): number {
      return super.getPrice() -5
    }
    
 
}
const abc = new OrderDZ(new GoodOrder())


console.log(abc.getPrice())
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容