代碼:
// 接口:行為的抽象
// 一、對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})
// 接口繼承
.
