我们知道一般而言class是实现interface的,但是在下面的代码中并没有implement interface Basecoat
:
import { Events } from '../event'
import { EventArgs } from '../event/types'
import { ObjectExt } from '../object'
import { Disposable } from './disposable'
export class Basecoat<A extends EventArgs = any> extends Events<A> {}
export interface Basecoat extends Disposable {}
export namespace Basecoat {
export const dispose = Disposable.dispose
}
ObjectExt.applyMixins(Basecoat, Disposable)
因为 class 关键字是一般而言就是用来声明 class 的,然后顺便还可以实现 interface。