1. /*
  2.  
  3. typeScript中的接口
  4.  
  5. 接口扩展
  6.  
  7. */
  8.  
  9. /*
  10. 接口的作用:在面向对象的编程中,接口是一种规范的定义,它定义了行为和动作的规范,在程序设计里面,接口起到一种限制和规范的作用。接口定义了某一批类所需要遵守的规范,接口不关心这些类的内部状态数据,也不关心这些类里方法的实现细节,它只规定这批类里必须提供某些方法,提供这些方法的类就可以满足实际需要。 typescrip中的接口类似于java,同时还增加了更灵活的接口类型,包括属性、函数、可索引和类等。
  11.  
  12. 定义标准。
  13.  
  14. */
  15.  
  16. // 可索引接口:数组、对象的约束 (不常用)
  17.  
  18. //ts定义数组的方式
  19. /*
  20. var arr:number[]=[2342,235325]
  21.  
  22. var arr1:Array<string>=['111','222']
  23. */
  24.  
  25. //可索引接口 对数组的约束
  26. // interface UserArr{
  27. // [index:number]:string
  28. // }
  29.  
  30. // // var arr:UserArr=['aaa','bbb'];
  31.  
  32. // // console.log(arr[0]);
  33.  
  34. // var arr:UserArr=[123,'bbb']; /*错误*/
  35.  
  36. // console.log(arr[0]);
  37.  
  38. //可索引接口 对对象的约束
  39.  
  40. // interface UserObj{
  41.  
  42. // [index:string]:string
  43. // }
  44.  
  45. // var arr:UserObj={name:'张三'};
  46.  
  47. //接口扩展:接口可以继承接口
  48.  
  49. // interface Animal{
  50.  
  51. // eat():void;
  52. // }
  53.  
  54. // interface Person extends Animal{
  55.  
  56. // work():void;
  57. // }
  58.  
  59. // class Web implements Person{
  60.  
  61. // public name:string;
  62. // constructor(name:string){
  63. // this.name=name;
  64. // }
  65.  
  66. // eat(){
  67.  
  68. // console.log(this.name+'喜欢吃馒头')
  69. // }
  70. // work(){
  71.  
  72. // console.log(this.name+'写代码');
  73. // }
  74.  
  75. // }
  76.  
  77. // var w=new Web('小李');
  78.  
  79. // w.eat();
  80.  
  81. interface Animal{
  82.  
  83. eat():void;
  84. }
  85.  
  86. interface Person extends Animal{
  87.  
  88. work():void;
  89. }
  90.  
  91. class Programmer{
  92.  
  93. public name:string;
  94. constructor(name:string){
  95. this.name=name;
  96. }
  97.  
  98. coding(code:string){
  99.  
  100. console.log(this.name+code)
  101. }
  102. }
  103.  
  104. class Web extends Programmer implements Person{
  105.  
  106. constructor(name:string){
  107. super(name)
  108. }
  109. eat(){
  110.  
  111. console.log(this.name+'喜欢吃馒头')
  112. }
  113. work(){
  114.  
  115. console.log(this.name+'写代码');
  116. }
  117.  
  118. }
  119.  
  120. var w=new Web('小李');
  121.  
  122. // w.eat();
  123.  
  124. w.coding('写ts代码');

typescript接口扩展的更多相关文章

  1. typescript接口扩展、接口的继承

    //接口扩展:接口可以继承接口 // interface Animal{ // eat():void; // } // interface Person extends Animal{ // work ...

  2. 使用Typescript重构axios(十一)——接口扩展

    0. 系列文章 1.使用Typescript重构axios(一)--写在最前面 2.使用Typescript重构axios(二)--项目起手,跑通流程 3.使用Typescript重构axios(三) ...

  3. typescript接口的概念 以及属性类型接口

    /* 1.vscode配置自动编译 1.第一步 tsc --inti 生成tsconfig.json 改 "outDir": "./js", 2.第二步 任务 ...

  4. Spring @Aspect进行类的接口扩展

    Spring @Aspect进行类的接口扩展: XML: <?xml version="1.0" encoding="UTF-8"?> <be ...

  5. 从C#到TypeScript - 接口

    总目录 从C#到TypeScript - 类型 从C#到TypeScript - 高级类型 从C#到TypeScript - 变量 从C#到TypeScript - 接口 从C#到TypeScript ...

  6. 在TypeScript中扩展JavaScript基础对象的功能

    最近工作中用到,记录一下:假设我们需要一个功能,把一个数字比如10000输出为下面的字符串格式“10,000”,一般是写一个方法,那么我希望更方便一点,直接向Number类型添加一个格式化方法,比如叫 ...

  7. 【原创】Odoo开发文档学习之:构建接口扩展(Building Interface Extensions)(边Google翻译边学习)

    构建接口扩展(Building Interface Extensions) 本指南是关于为Odoo的web客户创建模块. 要创建有Odoo的网站,请参见建立网站;要添加业务功能或扩展Odoo的现有业务 ...

  8. 《三》大话 Typescript 接口

    > 前言: 本文章为 TypeScript 系列文章. 旨在利用碎片时间快速入门 Typescript. 或重新温故 Typescript 查漏补缺.在官方 api 的基础上, 加上一些日常使用 ...

  9. [转]SpeedPHP微信接口扩展

    这个扩展实现了SP和微信公众平台的对接,1.0版暂时只实现了最简单的功能:绑定,收信息,回复信息. 扩展配置方法: $spConfig = array(     'mode' => 'debug ...

随机推荐

  1. Handling skewed data---trading off precision& recall

    preision与recall之间的权衡 依然是cancer prediction的例子,预测为cancer时,y=1;一般来说做为logistic regression我们是当hθ(x)>=0 ...

  2. Oracle字符串中包含数字、特殊符号的排序

    问题描述: 某小区,需要按照小区.楼栋.单元号.房间号进行排序,但是按照地址描述排序时,因为字符串中包含数字,所以造成了如下的结果, 1号楼之后应该是2号楼,但是查询结果却是10号楼 . 尝试解决 使 ...

  3. 1.什么是spring

    spring框架是一个为java应用程序的开发提供了综合,广泛的基础性支持的java开源框架, 使得开发者不用去关心一些冗杂的基础性问题,从而可以更加专注于应用程序的开发. spring框架是一个分层 ...

  4. linux autofs自动挂载

    autofs:自动挂载器 自动挂载器是一个监视目录的守护进程,并在目标子目录被引用时,自动执行预定义的NFS挂载 自动挂载器由autofs服务脚本管理 自动挂载器由auto.master配置文件进行配 ...

  5. httpclient: 设置连接池及超时配置,请求数据:PoolingHttpClientConnectionManager

    public static void main(String[] args) throws Exception{ //httpclient连接池 //创建连接池 PoolingHttpClientCo ...

  6. Java【基础学习】向下转型和上转型例子

    Java小白应付期末考试QWQ class Animal{ public void move() { System.); } } class Dog extends Animal{ public vo ...

  7. pycharm 2018 激活码

    本页面破解不止一种,选择适合你的使用 --------------------------------------------------------------------------------- ...

  8. noi.ac #32 快速排序归并排序应用

    \(des\) 给定长度为 \(n\) 的数组,要求翻转一段区间 \([l, r]\) 使其升序排列. 要求 \(\sum r - l + 1 <= 2e7\) \(sol\) 考虑快速排序,每 ...

  9. DIJ的优化,和spfa的优化

    SPFA和DIJ求最短路的算法的坑点一直是很多的.经常会让人搞不懂. 易错案例: 用重载运算符来排序,如: struct cmp { bool operator ()(int x, int y) co ...

  10. Leetcode Majority Element系列 摩尔投票法

    先看一题,洛谷2397: 题目背景 自动上次redbag用加法好好的刁难过了yyy同学以后,yyy十分愤怒.他还击给了redbag一题,但是这题他惊讶的发现自己居然也不会,所以只好找你 题目描述 [h ...