Typescript中的接口

什么是接口

一個類只能繼承另外一個類, 有時候不同之間可有一些共有的特性, 這個時候就可以把這些特性提取出來形成一個接口(interface)

類實現(xiàn)接口
  • 實現(xiàn)是面向?qū)ο蟮囊粋€概念
  • 用implements關(guān)鍵字來實現(xiàn)
  • 一個類可以實現(xiàn)多個接口
  • 接口也可以繼承接口
接口類型
  • 屬性類型接口
// 定義一個屬性類型接口
interface Params{
    username: string,
    password: string,
    id?:number  // 可選屬性
}

// 使用接口
function login(url:string, params: Params){
    console.log(params);
}

// 實現(xiàn)接口
var params: Params = {username:"aa", password:"bb"};
login("http://www.baidu.com", params);
  • 函數(shù)類型接口
// 定義接口
interface Params{
    username: string,
    password: string,
    id?:number  // 可選屬性
}
interface Callback{
    (result:string, error?:number):void;
}

// 使用接口
function login(url:string, params: Params, callback: Callback){
    callback("獲取數(shù)據(jù)成功");
}

// 實現(xiàn)
var params: Params = {username:"aa", password:"aa"};
login("http://www.baidu.com", params, (result:string, error:number){
    console.log(result);
});
  • 數(shù)組類型接口
// 定義接口
interface Params{
    [index:number]:string;
}

// 使用
function login(url:string, params: Params){
    console.log(params);
}

// 實現(xiàn)
var params:Params = ["sn", "123456"];
login("http://www.baidu.com", params);
  • 類類型接口
interface Animal{
    name: string;
    age: number;
    eat(food:string):void;
}

class Person implements Animal{
    name: string;
    age: number;
    eat(foot:string):void{
        console.log("eat ..."+ foot);
    }
}

var person = new Person();
person.name = "sn";
person.age = 11;
person.eat("米飯");

Typescript的接口知識點今天我們就說這么多,后續(xù)我們會繼續(xù)補(bǔ)充接口的知識點,如果你喜歡這篇文章,請給點個贊,謝謝啦?。?!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容