美文网首页web前端-javascript
使用TypeScript构建实例对象

使用TypeScript构建实例对象

作者: 老鼠AI大米_Java全栈 | 来源:发表于2018-09-01 12:07 被阅读246次

学习了ts,不能没有一个综合实例,这不,自己做了一个,分享下。
实例是设计一辆汽车,它有一个抽象类,抽象类再实现一个接口,先定义好枚举

//档位
enum Gear {
    First=1, Second=3, Third=5
}
//汽车颜色
enum Color {
    White, Red
}

再定义接口,定义汽车启动,驾驶及最后的距离 如下:

interface Drivable {
    //启动
    start(): void;
    //驾驶
    drive(time: number, speed: Gear): boolean;
    //具体位置
    getPosition(): number
}

接着设计抽象类,实现接口通用部分,

abstract class Car implements Drivable {
    protected _isRunning: boolean;
    protected _distanceFromStart: number;

    constructor() {
        this._isRunning = false;
        this._distanceFromStart = 0;
    }

    public start() {
        this._isRunning = true;
    }
    abstract drive(time: number, speed: Gear): boolean;
    public getPosition(): number {
        return this._distanceFromStart;
    }
}

接着是我们的具体实现类了,如下:

//派生类
class Civic<T extends Color> extends Car {
    private color: Color;

    constructor(T) {
        super();
        this.color = T;
    }

    public drive(time: number, speed: Gear): boolean {
        if (this._isRunning) {
            this._distanceFromStart += time*speed;
            return true;
        }
        return false;
    }

    public getColor(): string {
        return Color[this.color]
    }
}

然后执行,如下:


let civic = new Civic(Color.Red);
civic.start();
civic.drive(10, Gear.First);
civic.drive(60, Gear.Third);
document.body.innerHTML = "distance:"+civic.getPosition()+',color:'+civic.getColor()

运行程序,可以看到汽车运行的距离。
若有疑问,请加群:654979292

相关文章

  • 使用TypeScript构建实例对象

    学习了ts,不能没有一个综合实例,这不,自己做了一个,分享下。实例是设计一辆汽车,它有一个抽象类,抽象类再实现一个...

  • 类和对象(实例) 先将对象分类 归纳出共同特征,构建基类 构建子类,描述其不同状态(变量)和行为 创建类的实例,表...

  • 使用gulp构建TypeScript项目

    使用Gulp构建TypeScript,在Gulp管道里添加Browserify, uglify或Watchify。...

  • PRISMA快速入门之Typescript

    本文属使用Prisma构建GraphQL服务系列。 本文介绍如何使用typescript开发prisma服务。将使...

  • 在 Web 上构建您自己的 AI 驱动的虚拟助手

    使用 Typescript 和 React 构建由 Houndify API 提供支持的无障碍 Alexa 克隆 ...

  • jQuery 源码解析——无new构建实例和extend方法

    无 new 构建实例 $ 是 jQuery 的别称,$() 是创建 jQuery 的实例对象 jQuery 选择一...

  • 学习TypeScript 对象

    对象是包含一组键值对的实例。 值可以是标量、函数、数组、对象等: TypeScript 类型模板 sites.sa...

  • Ready

    构建第一个TypeScript文件 安装TypeScript npm install -g typescript ...

  • 面向对象

    实例化对象 使用 类名() 可以实例化一个对象,你可以使用给这个实例化的对象起一个名字,关于对象的初始化: 对象的...

  • Angular介绍

    1. 概述 Angular是一个使用HTML、CSS、TypeScript 构建客户端应用的框架,用来构建单页应...

网友评论

    本文标题:使用TypeScript构建实例对象

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