typescript类的修饰符

学习过java的小姐姐,小哥哥应该很好理解,但还是啰嗦的写出来!

typescript里面定义属性的时候给我们提供了 三种修饰符

  public :公有 在当前类里面、 子类 、类外面都可以访问
  protected:保护类型 在当前类里面、子类里面可以访问 ,在类外部没法访问
  private :私有 在当前类里面可以访问,子类、类外部都没法访问

  属性如果不加修饰符 默认就是 公有 (public)

//父类
class Person{
    private name:string;
    protected sex:string;
    age:number;
    constructor(name:string,age:number,sex:string){
        this.name=name;
        this.age=age;
        this.sex=sex;
    }
    run(){
        return `我是${this.name}我${this.age}岁`
    }
}
//子类
class My extends Person{
    constructor(name:string,age:number,sex:string){
        super(name,age,sex)
    }
    run1(){
        console.log(this.name);//报错 私有属性只能在它本类中使用
        console.log(this.sex);//正确 保护类型可以在子类中使用
        console.log(this.age);//正确
    }
}
var p=new Person("张三",23,"男");
console.log(p.age);//正确,公有可以在本类,子类,类外部访问
console.log(p.name);//报错,私有的属性不能再类外部访问
console.log(p.sex);//报错,受保护类型只能在本类或者子类中访问

如果有java基础的宝宝就不用看了!!!

原文地址:https://www.cnblogs.com/longailong/p/10578963.html