博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
TypeScript入门知识五(面向对象特性二)
阅读量:6996 次
发布时间:2019-06-27

本文共 923 字,大约阅读时间需要 3 分钟。

1.泛型(generic)

参数化的类型,一般用来限制集合的内容

class Person {

  constructor(private name: string) {
  }
  work() {

  }

}
var worker: Array<Person> = [];//这里指定数组中只能放Person类创建的对象

worker[0] = new Person("zhang san");

2.接口interface

用来建立某种代码约定,使得其他开发者在调用某个方法或者创建新的类时必须遵循接口所定义的代码约定。

(一)//接口声明属性,

  interface IPerson {
    name: string;
    age: number;
  }
//接口当做参数
  class Person {
    constructor(public config:IPerson) {

  }

  }
//在实例化一个类的时候,必须传入参数
  var p1 = new Person({
    name: "zhang san",
    age: 18
  })

(二)接口声明方法

//接口声明属性,

  interface Animal {
    eat();
  }
//实现接口关键字implements
  class Sheep implements Animal {
    eat() { //必须实现

    }

  }

(三)模块(Module)

模块可以帮助开发者将代码分割为可重用的单元。开发者可以自己决定将模块中的那些资源(类、方法、变量)暴露出去供外部使用,哪些资源只在模块内使用。一般一个模块就是一个文件

模块主要是两个关键字 exprot (导出)  import(导入) 

文件  a.ts

export  function fun1 () {

  console.log("输出");

}

在文件 b.ts中引用

import { fun1} from ".a";

fun1();//调用

 

转载于:https://www.cnblogs.com/chzlh/p/7554713.html

你可能感兴趣的文章
结对项目--四则运算“软件”之升级版
查看>>
Java反射学习总结
查看>>
LeetCode-81-Search in Rotated Sorted Array II
查看>>
Flex中Tree控件增加Checkbox
查看>>
Struts2中的OGNL通配符
查看>>
hyper-v 安装Centos及网络配置
查看>>
Effective C++ 笔记三 资源管理
查看>>
【转】【原创】某超级模块中游戏双开功能实现
查看>>
SpringMVC控制器接收不了PUT提交的参数的解决方案
查看>>
2C 产品的本质是人性,2B 产品的背后是业务(转)
查看>>
网站服务架构(转)
查看>>
“关系”有很多种,有直接关系、有关系的关系、有上层关系、有下层关系(转)...
查看>>
浅析代理模式(转)
查看>>
POI2011 移方块 Shift
查看>>
SendMessage 窗口函数
查看>>
前端之JavaScript:JS之DOM对象三
查看>>
Android开发系列(十一):对手机通讯录的读取、添加、删除、查找
查看>>
python 字符串替换
查看>>
据说每个大牛、小牛都应该有自己的库——JavaScript原生对象拓展
查看>>
python 递归方法 斐波那契数列—汉诺塔
查看>>