typeScript入門(三)介面

來源:互聯網
上載者:User

標籤:hang   anim   對象   string   imp   script   var   增加   編程   

 介面我感覺是很常用的一塊定義標準:介面的作用:在物件導向的編程中,介面是一種規範的定義,它定義了行為和動作的規範,在程式設計裡面,介面起到一種限制和規範的作用。介面定義了某一批類所需要遵守的規範,介面不關心這些類的內部狀態資料,也不關心這些類裡方法的實現細節,它只規定這批類裡必須提供某些方法,提供這些方法的類就可以滿足實際需要。 typescrip中的介面類似於java,同時還增加了更靈活的介面類型,包括屬性、函數、可索引和類等。1)屬性類介面舉個例子分析下interface FullName{  firstName:string;   secondName?:string;}function printName(name:FullName){  console.log(name.firstName+‘--‘+name.secondName);}var obj={  age:20,  firstName:‘張‘,  secondName:‘三‘};printName(obj);注意點如下一。定義介面用分號(;)隔開。二。介面內的屬性可以用?來表示這個介面可以不傳三。當函數調用時,參數不可直接寫用對象,ts會報錯有未知屬性,需像上文一樣先賦值給一個值,函數再調用的時候傳這個值。2)函數類介面對方法傳入的參數 以及傳回值進行約束interface encrypt{   (key:string,value:string):string;}var md5:encrypt=function(key:string,value:string):string{  return key+‘----‘+value;}console.log(md5(‘name‘,‘zhangsan‘));3)可索引介面對數組的約束interface UserArr{  [index:number]:string}對對象的約束 interface UserObj{   [index:string]:string }其實可以看出來區別就是數組下標時number,但是對象下標就是string。4)類類型介面對類的約束 和 抽象類別抽象有點相似interface Animal{  name:string;  eat(str:string):void;}class Dog implements Animal{  name:string;  constructor(name:string){    this.name=name;  }  eat(){    console.log(this.name+‘吃糧食‘)  }}注意點如下:一。在interface內的所有屬性或者方法,必須在實現的類中有。二。interface是類實現介面的方法。5)介面的拓展介面可以繼承介面,用extends實現。一個類既可以繼承(extends)一個類,也可以順便實現(interface)一個介面。 

typeScript入門(三)介面

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.