13、TypeScript中的面向对象与运行时理解

TypeScript面向对象与运行时详解

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”。

1.2 限制
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值