ts中的implements
在js中,一个class只能继承自另一个class,若其他类中的方法与属性也想继承,则很麻烦。而在ts中可以使用implements来实现一些类共有方法属性的提取。
class Car{switchRadio(trigger:boolean){}
}class cellphone{switchRadio(trigger:boolean){}
}
上述两个类都有一个共同的方法,我们可以使用interface接口把他提取出来,implements实现它。此时car和cellphone两个类中都需要有switchRadio方法,不然会报错。
interface Radio{switchRadio(trigger:boolean):void //注意写法,void表示函数没有返回值
}class Car implements Radio{switchRadio(trigger:boolean){}
}class cellphone implements Radio{switchRadio(trigger:boolean){}
}
新加一个Battery interface,使cellphone类接入而car类不接入。
interface Battery{checkBatteryStatus():void;
}interface Radio{switchRadio(trigger:boolean):void; //注意写法,void表示函数没有返回值
}class Car implements Radio{switchRadio(trigger:boolean){}
}class cellphone implements Radio,Battery{ //逗号连接switchRadio(trigger:boolean){}checkBatteryStatus(){ //内部方法加上checkBatteryStatus,注意:不能少!!!!!}
}
interface还可以继承,直接用extends即可
interface Battery{checkBatteryStatus():void;
}interface Radio{switchRadio(trigger:boolean):void; //注意写法,void表示函数没有返回值
}interface BatterywithRadio extends Radio{checkBatteryStatus():void;
}class Car implements Radio{switchRadio(trigger:boolean){}
}class cellphone implements BatterywithRadio{ //逗号连接switchRadio(trigger:boolean){}checkBatteryStatus(){}
}
ts中的implements相关推荐
- 【TS中的面向对象】
TS中的面向对象 面向对象是程序中一个非常重要的思想,它被很多同学理解成了一个比较难,比较深奥的问题,其实不然.面向对象很简单,简而言之就是程序之中所有的操作都需要通过对象来完成. 操作浏览器要使用w ...
- 细数 TS 中那些奇怪的符号
TypeScript 是一种由微软开发的自由和开源的编程语言.它是 JavaScript 的一个超集,而且本质上向这个语言添加了可选的静态类型和基于类的面向对象编程. 本文阿宝哥将分享这些年在学习 T ...
- Ionic3在ts中获取html中值的方法
我觉得有两种方法,都是Angular中的语法,一种是把值当做参数传递,另一种是使用ngModel实现双向绑定 还有一种很少用到的,Js的原生方法:document.getElementById('ch ...
- ts 手动实现 ts 中的map
ts 手动实现 ts 中的map 实现的功能如下: 按照键,删除对应的键值对 del() 循环每一个键值对 forEach() 得到当前键值对的数量 size 判断某个键是否存在 has() 重新设置 ...
- ts中any 、unKnown的区别
ts中any .unKnown的区别 any和unknown 两者都是顶级类型(top type),任何类型的值都可以赋值给顶级类型变量 const a:any = '字符串'//不报错 const ...
- 【TypeScript 专题】之 Ts 中的类(class)
在 ES6 中,class (类)作为对象的模板被引入,可以通过 class 关键字定义类.它本质仍然是函数,它让对象原型的写法更加清晰.更像面向对象编程的语法. 在 TypeScript 中,除了实 ...
- 如何进阶TypeScript功底?一文带你理解TS中各种高级语法
引言 TypeScript 的重要性我不在强调了,我相信仍然会有大多数前端开发者碰到复杂类型一概使用 any 处理. 我写这篇文章的目的就是为了让你告别 AnyScript ,文章告别晦涩的概念结合实 ...
- typescript(四)ts中函数的参数和返回值的类型定义
前面我们讲到过ts的静态类型定义中的函数类型定义,先来回顾下: const fnA: () => string = () => { return '1' } const fnB: () = ...
- TS中的事件,事件监听,移除,分发
TS中的事件,事件监听,移除,分发 TS代码如下(单例): /*** 事件消息处理*/ class EventCenter {/** 监听数组 */private listeners = {};pri ...
最新文章
- CentOS6.6+Puppet3.7.3分布式部署Zabbix2.4监控系统
- [命令技巧]chmod Set-User-ID Set-Group-ID
- python读写csv时中文乱码问题解决办法
- swift如何动态创建对象
- REVERSE-PRACTICE-BUUCTF-25
- normalizr API
- ajax 刷新output,JSF生命周期及AJAX局部刷新
- 文件上传学习:(结合upload-labs 01-12):part01
- CTO:不要在代码中写 set/get 方法了,逮一次罚款...
- 嵌入式实操----基于RT1170 首板硬件之CAN BUS TJA1043显示调试(十八)
- 清理垃圾文件属于计算机安全维护吗,如何清理c盘垃圾文件
- mscorsvw.exe 关闭方法
- 亿道丨三防手机丨手持终端丨零售行业如何选择手持工业终端设备?
- FineReport的数据库
- 003问题:约瑟夫问题(筛法解决)
- 告诉你十一个腰椎间盘突出症的锻炼方法
- java中.next()方法的作用及应用?
- U4 “U盘不能启动怎么办”-孙宇彤-专题视频课程
- 猿创征文|【开发工具-我打辅助的】2022软件开发常用辅助工具
- 用Pandas 处理大数据的3种超级方法