TypeScript——快速理解枚举-类-接口

37 阅读1分钟

简单Demo

// 定义枚举
enum Msg {
    HI = 'Hi',
    HELLO = 'Hello'
}
// 定义接口,抽象方法接受枚举参数
interface A {
    say(msg: Msg): void
}
// 实现接口
class B implements A {
    say(msg: Msg): void {
        console.log(msg + ',I am B')
    }
}
// 初始化对象
let a: A = new B()
// 调用方法,传递枚举参数
a.say(Msg.HI) //"Hi,I am B" 

复杂Demo

// 定义矩形类
class Rectangle {
    // 成员变量
    private width: number
    private length: number
    // 构造函数
    constructor(width: number, length: number) {
        this.width = width
        this.length = length
    }
    // 成员方法
    public area(): number {
        return this.width * this.length
    }
}

// 定义正方形
class square extends Rectangle {
    constructor(side: number) {
        // 调用父类构造
        super(side, side)
    }
}

let s = new square(10)
console.log('正方形的面积:', s.area()) // "正方形的面积:",  100 

参考文档

黑马bilibili