一.TypeScript接口 Interfaces

可以约定一个对象的结构 一个对象去实现一个接口 就必须拥有这个接口中所有的成员用interface定义接口,

并且定义接口中成员的类型 编译之后会发现typeScript中的接口只是对成员做类型约束的

定义string类型的key值和value值接口

二.类的概念

描述一类具体事物的抽象特征,以生活中为例,比如汽车是一个类,比亚迪,宝马,奔驰属于子类,除了有父级的共同特点4个轮胎,

一个方向盘之外,还有自己独有的特性。ES6之前 JavaScript没有类的概念 ,ES6之后有了Class类的概念,TypeScript增强了Class的

相关语法。举例说明:

类的访问修饰符

public 公有属性 没有限制
private 私有属性 只能在类的内部去访问 如果在类的外部访问的话 会报错
protected 受保护属性 与private区别是可继承父类的方法和属性

类与接口

比如说人和动物是两个类,他们有共同的特点就是吃和跑,则吃和跑就是人和动物的接口,但是动物的吃和跑与人的吃和跑毕竟不一样,

所以是两个类,而不是一个类的继承。像C#,java这些语言更倾向于一个能力设定为一个接口,因为吃和跑不是同时进行的,这样设

计的话能使代码更细化 如下图所示:

TypeScript 抽象类

抽象类一定程度上跟接口的定义差不多,约束子类中必须有某一个成员,不同于接口的是抽象类可以包含一些具体的实现,抽象类一

般指的大的方向类,打个比方:动物就是抽象类,定义抽象类之后 只能够继承 不能再使用new的方式去创建实例对象了,定义抽象

类的方式 abstract 如下图所示:

TypeScript 泛型

定义函数或者接口或者类的时候没有指定具体的类型 使用的时候再去指定具体类型的这样一种特征这样做的目的是极大可能的复用

我们的代码 举例如下图所示:

上图所示泛型为number类型,如果为string类型的话 这段代码就不能用了,所以我们可以用一个参数T代表类型 如下图所示:

TypeScript接口与类的使用的更多相关文章

  1. 从C#到TypeScript - 接口

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

  2. typescript接口(学习笔记非干货)

    typescript的核心原则之一就是对所具有的shape类型检查结构性子类型化 One of the core principles of typescript is to check struct ...

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

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

  4. Typescript 接口(interface)

    概述 typescript 的接口只会关注值的外形,实际就是类型(条件)的检查,只要满足就是被允许的. 接口描述了类的公共部分. 接口 interface Person { firstName: st ...

  5. 《三》大话 Typescript 接口

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

  6. TypeScript 接口继承

    1.TypeScript 接口继承 和类一样,接口也可以通过关键字 extents 相互继承.接口继承,分为:单继承和多继承,即继承多个接口.另外,接口也可以继承类,它会继承类的成员,但不包括具体的实 ...

  7. Myeclipse中打开接口实现类的快捷键

    Myeclipse中打开接口实现类的快捷键-----Ctrl + T Myeclipse中 Open Type快捷键-----Ctrl + Shift + T

  8. IDE:Eclipse查看接口实现类快捷键

    1.打开接口类 2.双击接口名选中 3.Ctrl+T,打开接口实现类

  9. Servlet API遍程常用接口和类

    本文主要总结Servlet  API遍程常用接口和类 Servlet API http://tomcat.apache.org/tomcat-5.5-doc/servletapi/index.html ...

随机推荐

  1. Android 11 源码下载+编译教程

    下载AOSP源码 这里我使用的是外国语大学的镜像执行的下载,Mac系统的话,一定要在区分大小姐的磁盘下执行 repo init -u https://mirrors.bfsu.edu.cn/git/A ...

  2. 云小课 | 需求任务还未分解,该咋整!项目管理Scrum项目工作分解的心酸谁能知?

    温馨提醒:本文约3000字,需要阅读5分钟,共分为8个部分,建议分段阅读! 软件开发过程中,从产品概念形成到产品规划.往往要做详细的需求分析和项目规划等,因此,选对一款项目管理工具对开发者就显得尤为重 ...

  3. Pycharm github登录 Invalid authentication data. Connection refused.

    在github.com前加上 https:// 注意登录时使用的是用户名不是邮箱

  4. 第二篇:docker 简单入门(二)

    本篇目录 写在最前面的话 最常用的docker命令 获取远程仓库镜像 写在最前面的话 如上图大家看到的这样,以后此类文章请到其他平台查阅,由于博客园提示说,内容太多简单,所以以后简单的内容我会放在cs ...

  5. css 08-CSS属性:定位属性

    08-CSS属性:定位属性 CSS的定位属性有三种,分别是绝对定位.相对定位.固定定位. position: absolute; <!-- 绝对定位 --> position: relat ...

  6. js下 Day13、面向对象

    一.对象 什么是对象: 一组无序的属性集合 创建对象两种方式: 对象字面量: var obj = {} 实例化: var obj = new Object() 对象取值: **[] ( ** 中括号) ...

  7. Spring Data JPA 整合Spring 第二篇

    主要是在CustomerDao中去写一些代码,在调用Query中去用SQL 例如 public interface CustomerDao extends JpaRepository<Custo ...

  8. Docker 部署 _实现每日情话 定时推送(apscheduler)

    由于最近工作比较忙,后续博客可能更新不及时,哈哈 前言: 由于python对于微信推送不够友好,需要扫码登录,短信接口需要RMB.我就想到了qq邮箱发送到好友,然而微信有qq邮箱提醒功能,就实现了我需 ...

  9. 使用SimpleDateFormat验证日期格式

    Java中日期格式的验证有很多方式,这里介绍用 java.text.SimpleDateFormat 来实现时间验证的一种简单方式.首先我们要知道 SimpleDateFormat 对象有一个方法 v ...

  10. JXL封装不能使用static关键字问题

    最近要做一个Excel导出的功能,由于文件不大,涉及到了很多Excel表格样式和公式计算,我采用了JXL的方式导出.由于逻辑大多是金额,所以我在封装JXL的时候写了两个静态final变量,代码如下: ...