• TypeScript 第四讲 ———— TypeScript 类中的静态属性 静态方法 多态 和抽象类


    静态方法和静态属性

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

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

    静态方法可以直接在类的外面调用,不需要new

    typescript中的多态

    父类定义一个方法不去实现,让继承他的子类去实现,每一个子类有不同的表现

    多态属于继承

    实例:

    class Animal {
    
      name: string;
      construtor(name: string){
       this.name = name;
     }
     eat(){
       //具体吃什么?继承他的子类去实现
       console.log("吃的方法")
     }
    
    }
    
    
    //Dog类继承Animal
    class Dog extends Animal{
    
      construtor(name: string){
       super(name);
     }
     eat(){
       return this.name+"吃粮食";
     }
    
    
    //Cat类继承Animal
    class Cat extends Animal{
    
      construtor(name: string){
       super(name);
     }
     eat(){
       return this.name+"";
     }

    typescript中的抽象类

    它是提供其他类继承的基类,不能直接被实例化。

    用abstract关键字定义抽象类和抽象方法,抽象类中的抽象方法不包含具体实现并且必须在派生类中实现。

    abstract抽象方法只能放在抽象类里面

    抽象类和抽象方法用来定义标准, 标准: Animal 这个类要求它的子类必须包含eat方法

    abstract this Animal{
    
    abstract eat():any;
    
    }
    
    class Dog extends Animal{
      //抽象类的子类必须实现抽象类里面的抽象方法
      constructor(name:string){
        super(name)
      }
       eat(){
         console.log("吃粮食")
       }
    }

    这节很简单,和java很像。

    山重水复疑无路,柳暗花明又一村! 专注填坑,少走弯路!
  • 相关阅读:
    SQL SERVER2005中将普通表修改为分区表
    手把手教你建立SQL数据库的表分区
    捕获input 文本框内容改变的事件(onchange,onblur,onPropertyChange比较)
    sql语句求排名
    带输出参数的插入语句
    js Base64.encode(str)_decode(str).html
    jquery.base64.js(完美解决中文乱码) 免费版
    sql数据库如何获取某个字段里的最大值?
    C#里封装 继承 多态
    C#中的属性get和set()方法
  • 原文地址:https://www.cnblogs.com/mqflive81/p/11488929.html
Copyright © 2020-2023  润新知