TypeScript - interface 接口

(function () {
    // 描述一个对象类型
    type myType ={
        name: string,
        age: number
    }

    /**
     * 以上形式可以使用接口来实现,
     * 接口用来定义一个类结构, 用来定义一个类中应该包含哪些属性,同时接口也可以当成类型声明去使用
     * 接口是对类的一个限制
     * type 不可重复声明同名类型,但是interface可以
     * 接口可以再定义类的时候,去限制类的结构。接口中的所有属性都不能有实际的值,指定义对象的结构,而不考虑实际值
     */
    interface myInterface {
        name: string,
        age: number,
        sayHello():void
    }
    interface myInterface {
        gender: string,
    }


    const obj: myType = {
        name: 'alan',
        age: 18,
    }

    const obj2: myInterface = {
        name: 'ALan',
        age: 18,
        gender: 'Male'
    }
    /**
     * 定义类的时候,可以使用类去实现一个接口
     * 实现接口就是使类满足接口的需求
     * 类中必须存在所有接口中的参数
     *
     */
    class MyClass implements myInterface{
        age: number;
        gender: string;
        name: string;

        constructor(name:string, age:number, gender:string) {
            this.name = name;
            this.age = age;
            this.gender = gender;
        }

        sayHello(): void {
            console.log('Hello all')
        }

    }


})

 

posted @ 2021-08-06 13:52  鑫仔Alan  阅读(42)  评论(0编辑  收藏  举报