美文网首页
TypeScript学习之——用接口来约束类(个人笔记)

TypeScript学习之——用接口来约束类(个人笔记)

作者: kevision | 来源:发表于2022-11-20 13:16 被阅读0次

用接口来约束类之间公共的能力。

interface EatAndRun {
    eat(food: string): void // 不包含具体实现
    run(distance: number): void
}
 // 用了EatAndRun接口来约束Persnon,Person里面必须含有eat和run成员,不能多也不能少
class Person implements EatAndRun {
    eat(food: string) {
        console.log('人吃' + food);
    }
    run(distance: number) {
        console.log('人跑' + distance + '米');
    }
}

class Animal implements EatAndRun {
    eat(food: string) {
        console.log('动物吃' + food);
    }
    run(distance: number) {
        console.log('动物跑' + distance + '米');
    }
}

优化


一个接口只约束一个能力(假设有另外一个类只有eat这么一个能力,用EatAndRun接口来约束是不合理的)

interface Eat {
    eat(food: string): void
}
interface Run {
    run(distance: number): void
}
class Person implements Eat, Run { // 用逗号隔开两个接口
    eat(food: string) {
        console.log('人吃' + food);
    }
    run(distance: number) {
        console.log('人跑' + distance + '米');
    }
}

class Animal implements Eat, Run {
    eat(food: string) {
        console.log('动物吃' + food);
    }
    run(distance: number) {
        console.log('动物跑' + distance + '米');
    }
}

相关文章

  • Typescript

    安装 Typescript 接口 interface 约束类型结构、Duck Typing 类型推论、联合类型、类...

  • TypeScript 学习笔记 之 接口与类

    接口 TS 中判断是否实现接口的核心原则是基于结构而不是基于名称的。即鸭子类型判断。 TS 中接口可以声明可选的接...

  • typescript学习笔记之接口(interface)

    typescript是微软出品的,javascript的超集。让javascript的写法很类似java,核心功能...

  • Typescript(七)interface接口

    1:接口作为约束与规范 我们可以根据需求来定义接口,然后我们再定义类来实现这个接口。接口为一个或多个类提供规范。 ...

  • 6.接口-接口的继承与继承其他类的约束

    接口的继承 类既可以被接口约束,还可继承其他的类 类可与继承其他类,但依然会被接口约束

  • 接口声明

    接口:在TypeScript中,接口是用作约束作用的,在编译成JavaScript的时候,所有的接口都会被擦除掉,...

  • Typescript接口、类

    一、接口 TypeScript的核心原则之一是对值所具有的结构进行类型检查。 它有时被称做“鸭式辨型法”或“结构性...

  • Typescript

    TypeScript(TS)部分 TypeScript学习笔记

  • Kotlin学习笔记:类和接口

    Kotlin学习笔记:概述Kotlin学习笔记:基本语法和函数Kotlin学习笔记:类和接口Kotlin学习笔记:...

  • Kotlin学习笔记:概述

    Kotlin学习笔记:概述Kotlin学习笔记:基本语法和函数Kotlin学习笔记:类和接口Kotlin学习笔记:...

网友评论

      本文标题:TypeScript学习之——用接口来约束类(个人笔记)

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