// 接口:接口是一种定义行为和规范,在程序设计中接口起到限制和规范的作用。接口定义某一
// 一批类所需要遵循的规范,接口不关系这些类的内部实现,之规定这些类必须提供某些方法
/* 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'
  }
}

最新文章

  1. Windows下的Memcache安装 linux下的Memcache安装
  2. RMQ训练题 codevs 1291 火车线路 已经搞定
  3. WPF控件经验小结:(1) ToolBar去掉右边箭头(扩展图标)
  4. 【深入Java虚拟机】之一:Java内存模型与内存溢出
  5. javascript作用域链学习笔记
  6. js boolean 判断
  7. Myeclipse SVN错误 443
  8. sqlite 下载的 ZIP 包的区别
  9. Android_Gallery
  10. 参数TFilterPredicate 类型说明
  11. ACCESS 里面的坑
  12. 14.3.2.2 autocommit, Commit, and Rollback 自动提交 提交和回滚
  13. 82. NotesclientPrint相同的信息,以状态栏的问题
  14. 开发者所需要知道的iOS7 SDK新特性
  15. SharpGL(46)用Billboard绘制头顶文字
  16. 性能优化之reflow和repaint
  17. Spring多数据源解决方案
  18. xss 加载远程第三方JS
  19. Kubernetes之Pod 控制器
  20. 最简单的RPC框架实现

热门文章

  1. mysql创建流水号
  2. 使用Allure+testNG自动生成漂亮强大的测试用例报告
  3. sys model 常见用法
  4. Java 分布式框架面试题合集
  5. gulp实现自动化打包(二)
  6. centos6.8安装lnmp
  7. An internal error occurred during: "Launching New_configuration". Path for project must have only on
  8. python学习--curl
  9. Linux系统之网络文件共享与数据实时同步实践
  10. java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener,环境Spring+Maven