TypeScript 第四講 ———— TypeScript 類中的靜態屬性 靜態方法 多態 和抽象類


靜態方法和靜態屬性

static 關鍵字用於定義類的數據成員(屬性和方法)為靜態的,靜態成員可以直接通過類名調用。

class StaticMem { static num:number; static disp():void { console.log("num 值為 "+ StaticMem.num) } } StaticMem.num = 12     // 初始化靜態變量
StaticMem.disp()       // 調用靜態方法
StaticMem.num = 12 // 初始化靜態變量
StaticMem.disp() // 調用靜態方法

靜態方法可以直接在類的外面調用,不需要new

typescript中的多態

父類定義一個方法不去實現,讓繼承他的子類去實現,每一個子類有不同的表現

多態屬於繼承

實例:

 

class Animal { name: string; construtor(name: string){ this.name = name; } eat(){ //具體吃什么?繼承他的子類去實現
   console.log("吃的方法") } } //Dog類繼承Animal
class Dog extends Animal{ construtor(name: string){ super(name); } eat(){ return this.name+"吃糧食"; } //Cat類繼承Animal
class Cat extends Animal{ construtor(name: string){ super(name); } eat(){ return this.name+""; }

 

typescript中的抽象類

 

它是提供其他類繼承的基類,不能直接被實例化。

用abstract關鍵字定義抽象類和抽象方法,抽象類中的抽象方法不包含具體實現並且必須在派生類中實現。

abstract抽象方法只能放在抽象類里面

抽象類和抽象方法用來定義標准, 標准: Animal 這個類要求它的子類必須包含eat方法

abstract this Animal{ abstract eat():any; } class Dog extends Animal{ //抽象類的子類必須實現抽象類里面的抽象方法
  constructor(name:string){ super(name) } eat(){ console.log("吃糧食") } }

這節很簡單,和java很像。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM