类的概念通常是在后端开发中实现的思想,比如C#、C++或Java,传统的JavaScript开发通过使用原型模式来模拟类的功能。在TypeScript中,天生就是支持类

的,可以让前端的开发更加具有面向对象思想开发的实现。

class Doctor{
public name:string;//默认不写就是public
public getname():void {
console.log("my name is:"+this.name);
}
} var doc1=new Doctor();
doc1.name="hcc";
doc1.getname();

后端开发的开发者都知道类有构造函数,在JavaScript中,通过定义函数和传递参数来模拟构造函数。在上述的代码中,在实例化Doctor类时,使用了默认构造函数。

在TypeScript中,可以显示的使用constructor关键字来定义构造函数,如下:

class Wife{
public name:string;
constructor(name:string){
this.name=name;
}
public getname():void{
console.log("my wife name is:"+this.name)
}
} var wife=new Wife("hcc");
wife.getname();

另外,在后端开发语言中,属性和静态也是重要的概念,在上述代码中,需要在外部访问的我们定义为了公共字段,但不是属性的概念;另外方法的访问需要实例化类才能访问。在TypeScript中可以定义

属性,也可以通过static关键字定义静态类型(可以不实例化也能访问的成员),如下:

class Book{
constructor(bookname:string){
this._bookname=bookname;
}
private _bookname:string; get BookName(){
return this._bookname;
}
set BookName(bookname:string){
this._bookname=bookname;
} public static GetBookInfo(bookname:string){
console.log(bookname);
}
} var book=new Book("Advanced C#");
console.log((book.BookName));
Book.GetBookInfo("Advanced Static C#")

欢迎加入QQ群讨论:573336726

08-TypeScript中的类的更多相关文章

  1. Typescript中的类 Es5中的类和静态方法和继承(原型链继承、对象冒充继承、原型链+对象冒充组合继承)

    <!doctype html> <html> <head> <meta charset="utf-8"> <meta name ...

  2. ts中的类的定义,继承和修饰符

    自己搞一个ts文件 里面写代码如下,试一下就行了 /* 1.vscode配置自动编译 1.第一步 tsc --inti 生成tsconfig.json 改 "outDir": &q ...

  3. 【翻译】在TypeScript中,Extends和Implements一个抽象类有什么不同

    我们知道在TypeScript中一个类既可以被implement也可以被extends,有一些C#或java基础的同学可能会对此感到困惑,因为在上述两个面向对象的语言里面只有接口可以被implemen ...

  4. Typescript 学习笔记四:回忆ES5 中的类

    中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...

  5. TypeScript完全解读(26课时)_8.ES6精讲-ES6中的类(进阶)

    8.TypeScript完全解读-ES6精讲-类(进阶) 在index.ts内引入 Food创建的实例赋值给Vegetabled这个原型对象,这样使用Vegetables创建实例的时候,就能继承到Fo ...

  6. TypeScript完全解读(26课时)_9.TypeScript完全解读-TS中的类

    9.TypeScript完全解读-TS中的类 创建class.ts文件,并在index.ts内引用 创建一个类,这个类在创建好后有好几个地方都标红了 这是tslint的一些验证规则 一保存就会自动修复 ...

  7. Typescript中的可索引接口 类类型接口

    /* 5.typeScript中的接口 可索引接口 类类型接口 */ /* 接口的作用:在面向对象的编程中,接口是一种规范的定义,它定义了行为和动作的规范,在程序设计里面,接口起到一种限制和规范的作用 ...

  8. Objective-C中的类目,延展,协议

    Objective-C中的类目(Category),延展(Extension),协议(Protocol)这些名词看起来挺牛的,瞬间感觉OC好高大上.在其他OOP语言中就没见过这些名词,刚看到这三个名词 ...

  9. 【TypeScript】如何在TypeScript中使用async/await,让你的代码更像C#。

    [TypeScript]如何在TypeScript中使用async/await,让你的代码更像C#. async/await 提到这个东西,大家应该都很熟悉.最出名的可能就是C#中的,但也有其它语言也 ...

  10. TypeScript中的怪语法

    TypeScript中的怪语法 如何处理undefined 和 null undefined的含义是:一个变量没有初始化. null的含义是:一个变量的值是空. undefined 和 null 的最 ...

随机推荐

  1. [BZOJ3110][ZJOI2013]K大数查询(整体二分)

    BZOJ Luogu sol 整体二分,其实很简单的啦. 对所有询问二分一个答案mid,把所有修改操作中数字大于mid的做一个区间覆盖(区间加1) 查询就是区间查询 然后左右分一分即可 注意是第k大 ...

  2. java&python环境变量+idea&pycharm激活

    java: JAVA_HOME=C:\jdk1.5.0_06 PATH=%JAVA_HOME%\bin;%PATH% CLASSPATH=.;%JAVA_HOME%\lib;%JAVA_HOME%\l ...

  3. Global.asax 中校验Session

    Application 相关的 Application_Init:在每一个HttpApplication实例初始化的时候执行. Application_Disposed:在每一个HttpApplica ...

  4. NancyFX 第三章 Web框架

    如果使用Nancy作为一个WEB框架而言,会有什么不同?实际上很多. 在使用Nancy框架为网页添加Rest节点和路由和之前的Rest框架中是相同的,这方面没有什么需要学习的了.Nancy采用一贯的处 ...

  5. php文件上传原理详解(含源码)

    1.文件上传原理 将客户端的文件上传到服务器,再将服务器的临时文件上传到指定目录 2.客户端配置 提交表单 表单的发送方式为post 添加enctype="multipart/form-da ...

  6. redis学习系列——redis持久化

    1.写操作的流程 2.RDB快照-redis的第一个持久化策略 第一种是以快照的形式持久化到本地磁盘(RDB文件). 持久化策略是: 1.配置(save N M)在N秒内,redis至少发生M次修改, ...

  7. jemeter 实现接口自动化回归测试

    jemeter做接口自动化测试的优点: 1.首先我认为最重要的是不需要编程基础,很多一直想做接口测试但一直徘徊在门边的原因可能就是不想写代码 2.可以更快的上手,能让测试人员更好的理解什么是接口测试, ...

  8. python全栈开发-Day4 列表

    python全栈开发-Day4 列表 一.首先按照以下几个点展开列表的学习 #一:基本使用 1 用途 2 定义方式 3 常用操作+内置的方法 #二:该类型总结 1 存一个值or存多个值 只能存一个值 ...

  9. MySQL 中如何存储 emoji ?

    MySQL 中如何存储 emoji ? 问题还原 使用 erlang 存储一些特殊字符串到 MySQL 的时候,却没法读出来.经检查,这些字符串的二进制格式如下: <<240,159,15 ...

  10. JS基础三

    1.delete删除对对象的属性和方法的定义.强制解除对它的引用,将其设置为 undefined delete 运算符不能删除开发者未定义的属性和方法. 2.void 运算符对任何值返回 undefi ...