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