08-TypeScript中的类

类的概念通常是在后端开发中实现的思想,比如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#")

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • DDD实战进阶第一波(九):开发一般业务的大健康行业直销系统(实现经销商上下文仓储与领域逻辑)

    用户1910585
  • DDD实战进阶第一波(九):开发一般业务的大健康行业直销系统(实现经销商上下文仓储与领域逻辑)

    用户1910585
  • 09-TypeScript中的继承

    在后端开发语言中,继承是非常重要的概念,继承可以让子类具有父类的成员和方法,通过实例化子类,就可以访问父类的成员和方法。 在JavaScript中,需要通过原型...

    用户1910585
  • 前端优化汇总,到底该不该做?

    大家好,这里是@IT·平头哥联盟,我是首席填坑官——苏南(South·Su),今天是国庆节的第二天,这个假期没有外出(不要问我为什么,自己脑补~?),前些天分享...

    苏南
  • 小朋友学Java(7):继承

    在学习Java的继承之前,可以先复习一下C++的继承: http://www.jianshu.com/p/bc9b7ddb141c 一、定义 继承就是子类(派生...

    海天一树
  • python基础之数据类型与变量

    一.变量 1 什么是变量之声明变量 #变量名=变量值 age=18 gender1='male' gender2='female' 2 为什么要有变量 变量作...

    用户1214487
  • Silverlight如何与JS相互调用

    1.sl调用js 比如我们在页面中定义一个js函数: <script type="text/javascript">         function fnTe...

    菩提树下的杨过
  • 【java】浅谈java内部类

    前言 说到java内部类,想必大家首先会想到比较常用的“匿名内部类”,但实际上,这只是内部类的其中一种使用方式而已。内部类的使用方式实际上总共包括:成员内部类,...

    外婆的彭湖湾
  • Python Web Flask源码解读(三)——模板渲染过程

    前面对 Flask启动流程和路由原理都进行了源码走读。今天我们看看模板渲染的过程。

    阳仔
  • 中级程序员还应该如何提高自己?

    当程序员已经处于中级时,应如何提高自己?有很多关于“学习编程”的资源,能够让人从0到新手(虽然这些资源中大多数的质量是值得商榷的),但是怎么样才能将中级水平提高...

    哲洛不闹

扫码关注云+社区

领取腾讯云代金券