zoukankan      html  css  js  c++  java
  • 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#")

    欢迎加入QQ群讨论:573336726

  • 相关阅读:
    php 3des加密 兼容JAVA 多么痛的领悟呀
    主机序和网络序
    不用递归实现无限分类数据的树形格式化
    python学习笔记之open函数的用法
    据说是百度面试题(1)
    YII+DWZ三级城市联动挂件
    wpf 报错: 在 AddNew 或 EditItem 事务过程中不允许“DeferRefresh”。
    MVVM了解
    纪念2015年上半年
    c# 委托与事件
  • 原文地址:https://www.cnblogs.com/malaoko/p/7591539.html
Copyright © 2011-2022 走看看