TypeScript极速梳理


7.接口

<p>接⼝梳理: 1.接⼝⽤于限制⼀个类中包含哪些属性和⽅法:</p> <pre><code>// Person接⼝ interface Person { // 属性声明 name: string age: number // ⽅法声明 speak():void } // Teacher实现Person接⼝ class Teacher implements Person { name: string age: number // 构造器 constructor(name: string,age: number){ this.name = name this.age = age } // ⽅法 speak(){ console.log('你好!我是⽼师:',this.name) } }</code></pre> <p>2.接⼝是可以重复声明的:</p> <pre><code>// Person接⼝ interface PersonInter { // 属性声明 name: string age: number } // Person接⼝ interface PersonInter { // ⽅法声明 speak():void } // Person类继承PersonInter class Person implements PersonInter { name: string age: number // 构造器 constructor(name: string,age: number){ this.name = name this.age = age } // ⽅法 speak(){ console.log('你好!我是⽼师:',this.name) } }</code></pre> <p>3.【接⼝】与【⾃定义类型】的区别:</p> <p>接⼝可以: 1.当⾃定义类型去使⽤; 2.可以限制类的结构; 自定义类型: 1.仅仅就是自定义类型;</p> <pre><code>// Person接⼝ interface Person { // 应该具有的属性 name: string age: number // 应该具有的⽅法 speak():void } // Person类型 /* type Person = { // 应该具有的属性 name: string age: number // 应该具有的⽅法 speak():void } */ // 接⼝当成⾃定义类型去使⽤ let person:Person = { name:'张三', age:18, speak(){ console.log('你好!') } }</code></pre> <p>4.【接⼝】与【抽象类】的区别: 抽象类: 1.可以有普通⽅法,也可以有抽象⽅法; 2.使⽤extends 关键字去继承抽象类; 接⼝中: 1.只能有抽象⽅法; 2.使⽤implements 关键字去实现接⼝ 抽象类举例:</p> <pre><code> // 抽象类 —— Person abstract class Person { // 属性 name:string age:number // 构造器 constructor(name:string,age:number){ this.name = name this.age = age } // 抽象⽅法 abstract speak():void // 普通⽅法 walk(){ console.log('我在⾏⾛中....') } } // Teacher类继承抽象类Person class Teacher extends Person { constructor(name:string,age:number){ super(name,age) } speak(){ console.log(`我是⽼师,我的名字是${this.name}`) } }</code></pre> <p>接⼝举例:</p> <pre><code>// 接⼝ —— Person,只能包含抽象⽅法 interface Person { // 属性,不写具体值 name:string age:number // ⽅法,不写具体实现 speak():void } // 创建Teacher类实现Person接⼝ class Teacher implements Person { name:string age:number constructor(name:string,age:number){ this.name = name this.age = age } speak(){ console.log('我在⻜快的⾏⾛中......') } }</code></pre>

页面列表

ITEM_HTML