美文网首页
第九章 class 类

第九章 class 类

作者: 为了_理想 | 来源:发表于2022-11-28 14:53 被阅读0次

    class类 修饰符

     1、public:表明该数据成员、成员函数是对所有用户开放的,所有用户都可以直接进行调用,
     2、private:表示私有,私有的意思就是除了class自己之外,任何人都不可以直接使用,私有财产神圣不可侵犯嘛,即便是子女,朋友,都不可以使用。
     3、protected:对于子女、朋友来说,就是public的,可以自由使用,没有任何限制,而对于其他的外部class,protected就变成private。
    作用域 当前类 同一package 子孙类 其他package
     4、static 静态属性 (被static修饰符声明的变量/类方法,可以通过类名.变量名直接引用),而不需要new出一个类,不同的类有自己的静态资源,这可以实现静态资源分类。避免重名。
     5、readonly 关键字将属性设置为只读的。只读属性必须在声明时或构造函数里被初始化。引用类型可以修改
     6、abstract  抽象类与抽象方法 对于abstract方法只允许声明,不允许实现(因为没有方法体)
    
    readonly and const 的区别  
    readonly 是一个属性  
    const  是一个变量 
    
    

    1: public 公共属性修饰符

    public :表明该数据成员、成员函数是对所有用户开放的,所有用户都可以直接进行调用,并且public 会隐式声明

    class Student {
        所有变量在声明的时候会自动添加上 public 
    
        public name:string = "德莱文" // === name:string = "德莱文"
    
        age:string = "18";  // === public age:string = "18"
    
        //以上2个声明方式都是一样的
    }
    
    let student = new Student()
    console.log(student.name,'s')
    

    2: static 静态属性修饰符

    static:(被static修饰符声明的变量/类方法,只能通过class 类名引用),而不需要new出一个类,不同的类有自己的静态资源,这可以实现静态资源分类。避免重名

    
    class Student {
        public name:string = "德莱文" 
    
        age:string = "18"; 
    
        static sex:string = "男"
    
    }
    
    let student = new Student()
    console.log(student.sex,)//报错 因为sex  是静态属性 只能通过 类名来访问,
    
    console.log(student.name) // 德莱文
    
    console.log(Student.name) //报错 因为pubilc 是属于实例属性,不能通过类名来访问,类名只能访问静态属性
    
    console.log(Student.sex) // 男
    

    3:readonly 只读属性

    readonly: 关键字将属性设置为只读属性。只读属性必须在声明时或构造函数里被初始化。引用类型可以修改

    
    class Student {
        //通过readonly修饰符声明的 【基本数据类型】 不能被修改,引用数据类型可以修改  
        readonly name: string = "德莱文"
    
        static sex: string = "男"
    
        readonly params: {
            age: string
        } = {
                age: "18"
            }
    }
    
    let student = new Student()
    student.name = "薇恩"
    console.log(student.name)//报错  因为readonly 是个只读属性,不能修改
    
    student.params.age = "20"
    
    console.log(student.params.age) // 20  引用类型可以修改
    
    
    
    

    相关文章

      网友评论

          本文标题:第九章 class 类

          本文链接:https://www.haomeiwen.com/subject/zrdavktx.html