代碼:
// 接口:行為的抽象 // 一、對class類的約束 // 接口定義 // 打印機 interface Iprinter { Printing(msg:string):string; } interface Imessage { getmsg():string; } // 實現接口/實現多個接口 class colorprinter implements Iprinter,Imessage { Printing(msg:string):string{ return `打印${msg}成功!` } getmsg():string{ return "惠普HP10000"; } } let p1 = new colorprinter(); let val = p1.Printing("簡歷"); console.log(p1.getmsg()) console.log(val) // 1.實現接口,要實現里面的內容 // 2.定義接口的時候,只定義聲明即可,不包含具體內容 // 二、對函數的約束 interface Imyfunction { (a:string,b:number):boolean; } let fun1:Imyfunction; fun1 = function(a:string,b:number):boolean { return false; } // 三、對數組 interface Istuarr { [index:number]:string; } let arr1:Istuarr; arr1 = ['aa','bb'] console.log(arr1[0]) // 四、關於json的約束 interface Idata { name:string, readonly age:number, // 只讀屬性 email?:string // 可選屬性 } function showdata(n:Idata) { // n.age = 18; console.log(JSON.stringify(n)) } showdata({name:"張三",age: 19}) // 接口繼承
.