天天看點

TypeScript學習筆記之類

TypeScript的類,簡單地定義如下:

ts中,定義一個類使用class關鍵字,使用new進行類的執行個體化,constructor關鍵字用來定義該類的構造函數。

什麼叫做參數屬性,比如上面的x、y字段的聲明和構造執行個體化是分兩步進行的,可以歸納到如下一步:

使用extends關鍵字可以實作類之間的繼承,包括字段、方法的繼承,看個例子:

public修飾符可以表示字段或者方法是共有的,也就是說在子類和其它類是可通路的,如下:

private修飾符可以表示字段或者方法是私有的,也就是隻在目前類中有效,出了該類是無法通路的,舉個栗子:

用protected修飾的字段隻能在目前類及其子類中通路,被protected修飾的構造函數,構造函數所在的類不能直接直接進行new操作,但是該構造可以被子類繼承,進而子類進行重新構造,但是還要首先調用super。

被readonly修飾的字段是隻讀的,該地段必須要麼在聲明時初始化,要麼在構造裡面初始化。

對于private字段,一般我們會在class中使用存取器進行指派及調用,這就是get和set的作用。

輸出如下:

靜态屬性定義時,直接在屬性或字段前面加上static修飾即可。

使用abstract關鍵字修飾一個抽象類,和接口不同的是,抽象類中可以有成員的實作細節,舉個栗子: