TypeScript接口与类

78 阅读1分钟

接口的定义

interface IStudent{
    name: string;
    age: number;
    stduy?:(knowledge:string)=>void;
}

接口的使用

let xiaoMing:IStudent = {
    name:'小明',
    age:'18',
}

只读属性

interface IStudent{
    name: string;
    age: number;
    readonly grade: number; // 只读属性
    friends: ReadonlyArray<IStudent>; // 只读数组
    stduy?:(knowledge:string)=>void;
    [_:string]: string; // 其他字符串属性
}

函数类型接口

interface IDoSomething{
    (a:string,b:number):void
}

接口多继承

interface IA extends IB,IC{
    extra: string[];
}

类实现接口

interface IData{
    time: Data;
}
class Something implements IData{
    time: Data;

}

静态属性与抽象类

abstract class Do{
    static done = 'very good'; // 静态属性
    abstract doSomething():void; // 抽象方法
    constructor(){
    }
}
// 派生类
class Study extends Do{
    constructor(){
        super();
    }

}