TypeScript类

javascript提供构造函数和原型的方式来构造复用组件; TypeScript提供类的概念;共同点都要实例化;

类的定义

class类名{

   name:string;//定义类的属性

   fun(){//定义了一个无返回值的方法

          //定义该方法所要实现的功能

     }

    say():string{//定义返回值类型为string的方法

              //定义该方法所要实现的功能

            return"返回值";// 用return关键字返回函数值

   }

}

TypeScript可以使用“static” 关键字标注类的成员: 关键字  static

classcalc{

static count=10;

add(data1:number):number{

varsum=calc.count+data1;

returnsum;

}

}

var test=newcalc();

document.write(test.add(20));//30

类成员的静态属性我们可以直接调用,调用方式为如上例的count的调用方式:calc.count。而不能用this.count在类的内部使用。

构造函数:是一种特殊的方法。主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。而TypeScript的构造函数用关键字constructor来实现。可以通过this(和java/C#一样代表对象实例的成员访问)关键字来访问当前类体中的属性和方法。

classstudent{//定义student类

name:string;//定义类的属性

constructor(myname:string){//定义构造函数

this.name=myname;

}

study(){//定义类的方法

//定义该方法所要实现的功能

}

}

类的实例化:一般情况下,创建一个类后并不能直接的对属性和方法进行引用,必须对类进行实例化,即创建一个对象。TypeScript中用new关键字创建对象。实例化后通过“.”来访问属性和方法

class student{//定义student类

 name:string;//定义类的属性

 constructor(myname:string){//定义带参数的构造函数

 this.name=myname;

 }

study(){//定义类的方法

 document.write("My name is "+this.name+".");

}

 write():string{

 return"write name:"+this.name;

 }

}

vars1=newstudent("Jim");

document.write(""+s1.name+"");//获取name属性

s1.study();// 调用study方法

document.write(""+s1.write()+"");

继承:TypeScript中用关键字extends指明继承关系。例如,已经定义了类A,如果让类B继承A,我们把A叫做基类,B叫子类。在子类中调用基类中的属性与方法就要使用super关键字。

classAnimal{//定义基类

name:string;

constructor(theName:string){this.name=theName;}

move(meters:number){

document.write(this.name+" moved "+meters+"m.");

}

}

classSnakeextendsAnimal{//继承基类

constructor(name:string){

super(name);//调用基本类的构造函数

}

move(){//重写了基类的方法

 document.write("Slithering...");

  super.move(5);//调用基类的方法

}

}

varsam=newSnake("Python");//声明Snake类

sam.move();

在TypeScript中我们采用“extends”关键字来表示类的继承关系。在这里你可以看见“Snake”继承“Animal”的子类实现。在实例中也展示如何去重写父类的方法,在这里“Snake”创建了一个“move”方法来重写父类“Animal”的“move”方法,并通过“super”关键字来调用父类的方法。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,869评论 18 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,754评论 18 399
  • 目前前端发展得百花齐放、技术日新月异,就连各种编辑器也好用到匪夷所思,又层出不穷。近两年来,我从Sublime T...
    凉风有兴阅读 6,592评论 3 26
  • 继承和多态 之前的JavaScript是基于原型(prototype)继承来实现可复用的“类”,而TypeScri...
    河的左岸阅读 307评论 0 2
  • 布局优化 include 标签 比如导航栏merge 标签 减少布局的层级viewstub 继承view 本身不...
    Mr_不靠谱_先森阅读 145评论 0 0