ts中的接口
2024-10-08 08:24:03
// 接口:接口是一种定义行为和规范,在程序设计中接口起到限制和规范的作用。接口定义某一
// 一批类所需要遵循的规范,接口不关系这些类的内部实现,之规定这些类必须提供某些方法
/* 1.对批量方法进行约束 */
interface Fullname {
firstName: string;
secondName: string;
}
function printName(name:Fullname) {
console.log(name.firstName);
console.log(name.secondName)
}
printName({firstName:'df',secondName:'dff'})
/* 2.函数类型接口,对方法传入以及返回值进行约束 */
interface encrypt {
(key:string,value:string):string;
}
var stringA:encrypt = function(key:string,value:string):string {
return key+value;
}
console.log(stringA('fasdf','dd'));
/* 3.可索引接口 */
interface UserArr {
[index:number]:string //对数组的约束
}
var arr:UserArr = ['dd','dd']
interface UseObj {
[index:string]:string // 对对象的约束
}
var obj:UseObj = {name:'fasf'}
/* 4.类类型接口 和抽象类有点相似 */
interface Animal {
name: string;
eat(str:string):void;
}
class Dog implements Animal {
name: string;
constructor(name:string) {
this.name = name
}
eat() {
console.log(this.name + 'eating');
}
}
var dog = new Dog('小狗');
dog.eat();
/* 5.接口的扩展 */
interface Animal1 {
eat():void;
}
interface People extends Animal1 { // 接口继承接口
work():void;
}
class web implements People {
constructor() {
}
eat() {
return 'ddd'
}
work() {
return 'fsaf'
}
}
最新文章
- Windows下的Memcache安装 linux下的Memcache安装
- RMQ训练题 codevs 1291 火车线路 已经搞定
- WPF控件经验小结:(1) ToolBar去掉右边箭头(扩展图标)
- 【深入Java虚拟机】之一:Java内存模型与内存溢出
- javascript作用域链学习笔记
- js boolean 判断
- Myeclipse SVN错误 443
- sqlite 下载的 ZIP 包的区别
- Android_Gallery
- 参数TFilterPredicate 类型说明
- ACCESS 里面的坑
- 14.3.2.2 autocommit, Commit, and Rollback 自动提交 提交和回滚
- 82. NotesclientPrint相同的信息,以状态栏的问题
- 开发者所需要知道的iOS7 SDK新特性
- SharpGL(46)用Billboard绘制头顶文字
- 性能优化之reflow和repaint
- Spring多数据源解决方案
- xss 加载远程第三方JS
- Kubernetes之Pod 控制器
- 最简单的RPC框架实现
热门文章
- mysql创建流水号
- 使用Allure+testNG自动生成漂亮强大的测试用例报告
- sys model 常见用法
- Java 分布式框架面试题合集
- gulp实现自动化打包(二)
- centos6.8安装lnmp
- An internal error occurred during: ";Launching New_configuration";. Path for project must have only on
- python学习--curl
- Linux系统之网络文件共享与数据实时同步实践
- java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener,环境Spring+Maven