玩轉TypeScript(1) --定義簡單的類


相對於JavaScript來說,TypeScript增強了強制類型,同時添加了一系列的面向對象的特性,包含:靜態類型(Static typing)、類(Classes)、接口(Interfaces)、模塊(Modules),它只是一門設計時語言,也就是說在運行時依然是JavaScript引擎,TypeScript只是確保在設計時可以具有現代面向對象的語言的功能。

通過一個示例來看一下在TypeScript中定義類和靜態方法,以WisOne IDE為例,打開WisOne IDE,在窗口上拖一個Button按鈕。單擊左側項目視圖的“Design“面板,在屬性面板中更改其name屬性為btnButton,Caption屬性值為“顯示當前日期“,再拖一個TEdit控件,設置其Name屬性為EdtDate,Text屬性為空。雙擊按鈕進入到代碼編輯器,在編輯器中可以看到Form本身是做為一個類存在,為了演示類的創建,這里在unit1下面新建了一個示例類,如下代碼所示:

 1 module Unit1{
 2     //創建一個新的類
 3     export class MyFirstClass{
 4         //定義一個靜態的方法用來顯示日期
 5         static DisplayDate(edit1:Core.StdCtrls.TEdit):void{
 6             //實例化日期類型
 7             var currentDate:Date=new Date();
 8             //顯示當前日期字符串
 9               edit1.text=currentDate.toLocaleDateString();
10         }
11     }
12     
13     
14     export class TForm1 extends Core.Forms.TForm{
15         btnDate: Core.StdCtrls.TButton;
16         edtDate: Core.StdCtrls.TEdit;
17         
18         btnDateClick(sender: Core.Classes.TComponent){
19           //調用模塊Unit1下的MyFirstClass下的靜態方法DisplayDate顯示日期
20           Unit1.MyFirstClass.DisplayDate(this.edtDate);
21         }
22 
23     }
24 }

TypeScript中有static關鍵字表明方法是一個靜態方法,也就是說DisplayDate可以不用使用new進行實例化就能直接調用熟悉C#語言的會很熟悉這樣的語法,在名為Unit1的Module下面,WisOne IDE自動生成了一個名為TForm1的類,我在這里定義了一個名為MyFirstClass的類,也就是說現在有2個類在Module下面,在btnDate的單擊事件處理代碼中,通過調用MyFirstClass類中的靜態方法,就顯示了當前的日期。在WisOne IDE中的運行效果如下圖所示:

Module、Class以及static這些顯示的面向對象的關鍵字,讓TypeScript的代碼更加簡潔,容易架構。而且對類型的支持這足以讓代碼容易給別人接手,在我看來,確實是讓人心動。

有興趣的朋友可以進入http://www.wisone.com/ide  試着玩一下這個簡單的類代碼。

 

 

 

 

 


免責聲明!

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



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