什么是接口
一個類只能繼承另外一個類, 有時候不同之間可有一些共有的特性, 這個時候就可以把這些特性提取出來形成一個接口(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ǔ)充接口的知識點,如果你喜歡這篇文章,請給點個贊,謝謝啦?。?!