ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

class 类 修饰符

2021-11-02 18:03:41  阅读:162  来源: 互联网

标签:string Pet 修饰符 petPig static class name


1. 修饰符 public 

  public: public修饰的属性 是公有的 在任何地方都能访问到 可以做修改赋值操作

  class Pet{

    public name:string;

    constcutor(name:string){

      this.name = name

    }

  }

 

  const petPig = new Pet('pig')

  console.log(petPig.name)

  petPig.name = "佩奇"

  console.log(petPig.name)

 

  输出结果

  

 

 

   

 

 

2. 修饰符  peivate 

  private :private 修饰的属性 不愿意对外访问 就使用 private 来进行修饰 只能在当前定义的类里面进行访问 在其它子类中进行访问会提示错误

  class Pet{

    private name:string;

    constcutor(name:string){

      this.name = name

    }

  }

 

 

 

 

3.  修饰符 protected  

  protected : 修饰的属性 private 有点类似 它的子类可以访问它的属性 不属于它的子类 访问会报错 类似于 它的遗产只能它的子女来继承

  class Pet{

    protected name:string;

    constcutor(name:string){

      this.name = name

    }

  }

 

 

 

 

 

 

4.  修饰符 readonly 

   readonly:readonly 修饰的属性 只能读 不能改

  class Pet{

    readonly name:string;

    constcutor(name:string){ 

      this.name = name

    }

  }

 

 

 

5. static

  static:可以定义静态属性 也可以定义 静态方法   可以直接访问的属性 不需要实例化 可以直接在类上进行调用 static 可以用于定义 跟当前实例没有关系的属性 用于直接访问 

  

  5.1 定义静态属性

  class Pet{       name:string;       static categories:string[] = ["飞行类","爬行类"];          constructor(name:string){           this.name = name       }       run(){           return `${this.name} is runing`       }   }   console.log(Pet.categories)  

输出结果

 

 

 

 

  5.2 定义静态方法

  class Pet{       name:string;       static categories:string[] = ["飞行类","爬行类"]       static isPet(a:any){           return a instanceof Pet       }       constructor(name:string){           this.name = name       }       run(){           return `${this.name} is runing`       }   }
  const petPig = new Pet('pig')   静态方法调用   console.log(Pet.isPet(petPig))   输出结果

 

 

 

 

 

标签:string,Pet,修饰符,petPig,static,class,name
来源: https://www.cnblogs.com/p-g-q/p/15500138.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有