TypeScript中的面向对象与运行时理解
1. TypeScript中的Mixins
在TypeScript里,Mixins看起来有点像多重继承,但TypeScript不允许多重继承。Mixins的关键在于使用 implements 关键字,而非 extends 关键字,这让它们更像接口,而非超类。
1.1 使用场景
- 组合具有可选特性的类 :Mixins可作为选项。
- 在多个类中复用相同行为 。
- 基于相似的特性列表创建多种变体 。
使用Mixins时,要注意添加实现到增强类的机制不会被检查,所以调用 applyMixins 函数时,必须确保类名列表正确,并且要充分测试。
判断使用Mixins还是经典继承,通常取决于类之间的关系。在继承和委托之间做选择时,常用“is a”和“has a”测试。例如,“A car has a chassis”(汽车有底盘)适用委托;“A rolling chassis is a chassis”(滚动底盘是底盘)适用继承。而Mixins的关系最好用“can do”描述,如“An actor can do acting”(演员能表演),可以用“Acting”或“Acts”命名Mixins,让类的定义更像句子,如“Actor implements Acting”。
TypeScript面向对象与运行时详解
超级会员免费看
订阅专栏 解锁全文
1051

被折叠的 条评论
为什么被折叠?



