zoukankan      html  css  js  c++  java
  • 4、TypeScript 类

    介绍

    • TypeScript 是面向对象的 JavaScript。
    • 类描述了所创建的对象共同的属性和方法。
    • TypeScript 支持面向对象的所有特性,比如 类、接口等。

    定义类的关键字为 class,后面紧跟类名,类可以包含以下几个模块(类的数据成员):

    • 字段 − 字段是类里面声明的变量。字段表示对象的有关数据。

    • 构造函数 − 类实例化时调用,可以为类的对象分配内存。

    • 方法 − 方法为对象要执行的操作。

    实例代码

      class  Car {
        // 字段
        engine:string;
        
        // 构造函数
        constructor(engine:string) {
          this.engine  =  engine
        }
        
        // 方法
        disp():void {
          console.log("发动机为 : "+this.engine)
        }
      }
      // 创建一个对象
      var  obj  =  new  Car("XXSY1")
      
      // 访问字段
      console.log("读取发动机型号 : "+obj.engine)
      
      // 访问方法
      obj.disp()
    

    类的继承

    • TypeScript 支持继承类,即我们可以在创建类的时候继承一个已存在的类,这个已存在的类称为父类,继承它的类称为子类。

    • 类继承使用关键字 extends,子类除了不能继承父类的私有成员(方法和属性)和构造函数,其他的都可以继承。

    • TypeScript 一次只能继承一个类,不支持继承多个类,但 TypeScript 支持多重继承(A 继承 B,B 继承 C)。

    • 继承类的方法重写

      class  PrinterClass {
        doPrint():void {
          console.log("父类的 doPrint()方法。")
          }
        }
        
      class  StringPrinter  extends  PrinterClass {
        doPrint():void {
          super.doPrint() // 调用父类的函数
          console.log("子类的 doPrint()方法。")
        }
      } 
      
      var  obj  =  new  StringPrinter();
      obj.doPrint();
    

    输出结果:

      父类的 doPrint() 方法。  
      子类的 doPrint()方法。
    

    static 关键字

    static 关键字用于定义类的数据成员(属性和方法)为静态的,静态成员可以直接通过类名调用。

      class  StaticMem {
        static  num:number;
        static  disp():void {
        console.log("num 值为 "+  StaticMem.num)
        } 
      }
      
      StaticMem.num  =  12  // 初始化静态变
      StaticMem.disp() // 调用静态方法
    

    instanceof 运算符

    instanceof 运算符用于判断对象是否是指定的类型,如果是返回 true,否则返回 false。

      class  Person{ }
      var  obj  =  new  Person()
      var  isPerson  =  obj  instanceof  Person;
      console.log("obj 对象是 Person 类实例化来的吗? "  +  isPerson);
    

    访问控制修饰符

    TypeScript 中,可以使用访问控制符来保护对类、变量、方法和构造方法的访问。TypeScript 支持 3 种不同的访问权限。

    • public(默认) : 公有,可以在任何地方被访问。

    • protected : 受保护,可以被其自身以及其子类和父类访问。

    • private : 私有,只能被其定义所在的类访问。

      class  Encapsulate {
        str1:string  =  "hello"
        private  str2:string  =  "world"
      }
    
      var  obj  =  new  Encapsulate()
      console.log(obj.str1) // 可访问
      console.log(obj.str2) // 编译错误, str2 是私有的
    

    类和接口

    类可以实现接口,使用关键字 implements

  • 相关阅读:
    ASP中使用事务控制
    C语言学习笔记——两个数交换位置的多种方式
    PHP字符串函数
    PHP笔记——文件处理
    算法——穿越沙漠算法
    C学习笔记——使用CL编译器
    Wordpress——一些内部参数记录
    C语言笔记——原码、反码、补码
    C学习笔记——内存
    Linux VI编辑器命令集合
  • 原文地址:https://www.cnblogs.com/lived/p/10746164.html
Copyright © 2011-2022 走看看