美文网首页
TS中类、接口、泛型

TS中类、接口、泛型

作者: 郭_小青 | 来源:发表于2020-12-30 16:48 被阅读0次

一、类

public:修饰的属性和方法都是公有的,可以在任何地方被访问到。默认所有的属性和方法都是public。(可以被继承、实例化)

private:修饰的属性和方法是私有的,不能在声明它的类的外部访问(该类不允许继承或实例化)

protected:修饰的属性和方法是受保护的,它与private类似,区别是他在子类中是允许被访问的(只允许被继承,不可实例化)

abstract: 用于定义抽象类或抽象方法,(抽象类不允许被实例化, 抽象类中的抽象方法必须在子类中被实现)

abstract class Animal {
  public name;
  public constructor(name) {
    this.name = name;
  }
  public abstract sayHi();
}

class Cat extends Animal {
  public sayHi() {   // 抽象类中的抽象方法在子类中必须被实现
    console.log(`Meow, My name is ${this.name}`);
  }
}

let cat = new Cat('Tom');

二、接口

接口是用来建立类与类之间的协议,它所提供的只是一种形式,而并没有具体的实现。实现该接口的实现类必须要实现该接口的所有方法,通过使用implements关键字, 接口是抽象类的延伸

  1. 由interface关键词修饰
  2. 接口中可以定义成员变量, 但是这些成员变量默认都是public、static、final的常量
  3. 接口中没有已经实现的方法,全部都是抽象方法
  4. 一个类实现某一个接口, 必须实现接口中所有的方法
  5. 一个类可以实现多个接口

三、泛型

在定义函数、类或接口的时候, 不预先指定具体的类型, 而是在使用的时候再指定的一种特性

function createArray<T>(length: number, value: T): Array<T> {
    let result: T[] = [];
    for (let i = 0; i < length; i++) {
        result[i] = value;
    }
    return result;
}

createArray<string>(3, 'x'); // ['x', 'x', 'x']
// 或
createArray(3, 'x'); // ['x', 'x', 'x']

参考TypeScript 入门教程

相关文章

  • TS中类、接口、泛型

    一、类 public:修饰的属性和方法都是公有的,可以在任何地方被访问到。默认所有的属性和方法都是public。(...

  • TypeScript基础知识

    命令 查看版本:tsc -v 运行ts文件:tsc xx.ts 数据类型 接口Interface 类和接口 泛型基...

  • umijs@use-request源码解读

    一、了解ts基本语法 涉及ts的变量声明、接口、类、函数、泛型等 ts语法知识[https://typescrip...

  • Java 19-5.1泛型

    泛型类定义泛型类可以规定传入对象 泛型类 和泛型方法 泛型接口 如果实现类也无法确定泛型 可以在继承类中确定泛型:

  • 【第7篇】TypeScript泛型的案例代码详解

    1、最简单泛型例子 Ts代码 Js文件 2、泛型类型与接口 Ts代码一 Ts编译js代码一 Ts代码二 Ts编译j...

  • 泛型

    1.什么是泛型? 2.为什么需要泛型? 3.泛型类、接口 泛型类注意事项: 从泛型类派生子类 泛型接口 泛型接口的...

  • Java 泛型

    泛型类 例如 泛型接口 例如 泛型通配符 泛型方法 类中的泛型方法 泛型方法与可变参数 静态方法与泛型 泛型上下边...

  • Java泛型

    参考:Java知识点总结(Java泛型) 自定义泛型类 自定义泛型接口 非泛型类中定义泛型方法 继承泛型类 通配符...

  • 泛型的使用

    泛型有三种使用方式,分别为:泛型类、泛型接口、泛型方法 泛型类 泛型接口 泛型通配符 泛型方法 静态方法与...

  • TS泛型类、泛型接口、泛型函数

    泛型 泛型是一种参数化数据类型,具有以下特点1:定义时不明确,使用时必须明确成 某种具体数据类型 的数据类型【泛型...

网友评论

      本文标题:TS中类、接口、泛型

      本文链接:https://www.haomeiwen.com/subject/qnvfoktx.html