(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') } } })