玩转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  试着玩一下这个简单的类代码。

 

 

 

 

 

posted @ 2013-09-27 10:33  lincats  阅读(...)  评论(...编辑  收藏