博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
玩转TypeScript(1) --定义简单的类
阅读量:4697 次
发布时间:2019-06-09

本文共 1551 字,大约阅读时间需要 5 分钟。

相对于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的代码更加简洁,容易架构。而且对类型的支持这足以让代码容易给别人接手,在我看来,确实是让人心动。

有兴趣的朋友可以进入试着玩一下这个简单的类代码。

 

 

 

 

 

转载于:https://www.cnblogs.com/lincats/p/3342279.html

你可能感兴趣的文章
CSHARP-349
查看>>
基数排序
查看>>
跟我学android-Android应用基本组件介绍(五)
查看>>
UIAlertView
查看>>
通过Instant Client包来使用SQL*PLUS
查看>>
ArcGIS:ArcToolBox工具使用——提取DEM/DSM中的高程点
查看>>
Dwarf Tower
查看>>
pat 1074. 宇宙无敌加法器(20)
查看>>
2.Linux环境下配置Solr4.10.3
查看>>
sqlServer 获取最新的一条数据
查看>>
day29
查看>>
Java Web ServletResponse
查看>>
HTML静态网页--JavaScript-语法
查看>>
es 的crud
查看>>
视频采集以及播放的流程
查看>>
mapreduce排序比较器的选取
查看>>
“饮水机”:形象比喻 深入浅出理解RAID
查看>>
Oracle 安装报错 [INS-06101] IP address of localhost could not be determined 解决方法[转]
查看>>
ASP.NET MVC RedirectToRoute类[转]
查看>>
编码理解
查看>>