具体类 实现 接口
抽象装饰类 实现同样接口
具体装饰类继承抽象类
/**
* 装饰者
* 抽象组件
*/
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())