• typeScript中 类的定义



    class Person{ public name:string; constructor(name:string){
    // 构造函数 实例化类的时候触发的方法 this.name = name; } getName():string{ return this.name; } setName(name:string):void{ this.name = name; } } let p = new Person('张三'); alert(p.getName()); p.setName('李四'); alert(p.getName());

    类的继承   extends    super

    class Children extends Person{
    
        constructor(name:string){
    
            super(name);  //super表示调用父类的构造函数
        }
    }
    
    var c = new Children('李四');
    alert(c.getName());

    类里的修饰符 (不加修饰符,默认为public)

    1. public:      公有 ,在类里,类外及子类都能访问
    2. protected:保护类型,在类里以及子类能访问
    3. private:    私有, 在类里才能被访问

    类的静态属性,静态方法  (可直接调用,不必实例化 )

    在class 类中 的方法或者属性前加 static 

    class Person{
        public name:string;
      static age:number = 20 constructor(name:string){
    // 构造函数 实例化类的时候触发的方法 this.name = name; } static run(){ //静态方法 静态方法里不能直接调用类里的属性 alert('在运动'+Person.age); } } Person.run();

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

    class Animal {
        public name:string;
        constructor(name:string) {
            this.name = name;
        }
    
        eat(){
            alert("吃的方法")
        }
    }
    
    class Dog extends Animal {
        constructor(name:string) {
            super(name);
        }
    
        eat(){
            return this.name + "吃骨头"
        }
    }
    
    class cat extends Animal {
        constructor(name:string) {
            super(name);
        }
    
        eat(){
            return this.name + '吃鱼头'
        }
    }

    抽象方法以及抽象类    

    抽象类:它是提供其它类继承的基类,不能直接被实例化

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

    抽象类和抽象方法用来定义标准

    注意:抽象方法只能放在抽象类中

    abstract class Animal {
        public name:string;
        constructor(name:string) {
            this.name = name;
        }
        //抽象方法在抽象类中不能实现
        abstract eat():void; 
    }
    
    class Dog extends Animal {
        constructor(name:string) {
            super(name);
        }
        //抽象类中的方法在子类中必须实现 
        eat(){
            return this.name + "吃骨头"
        }
    }
  • 相关阅读:
    浮点数二分
    [模板]整数二分
    Mybatis实现增删改查
    如何使用 KEIL 下载 HEX 文件?
    线程CPU使用率该如何计算?
    单片机里面的CPU使用率是什么鬼?
    ASP.NET Core 3.1使用JWT认证Token授权 以及刷新Token
    ASP.NET Core 3.1使用Swagger API接口文档
    Visual Studio 默认git拉取Github出错 No error could not read Username for 'https://github.com': terminal prompts disabled
    ASP.NET Core 3.1使用log4net/nlog/Serilog记录日志
  • 原文地址:https://www.cnblogs.com/webmc/p/12668538.html
Copyright © 2020-2023  润新知