prviate属性是私有属性,、、只能在当前类里面属性,在子类或者当前class以外使用都会报错

    1. class B {
    2. name: string
    3. private age: number
    4. constructor(name:string,age:number) {
    5. this.name = name
    6. this.age=age
    7. }
    8. getName() {
    9. console.log('名称',this.age) //在当前class中访问正常
    10. }
    11. }
    12. class A extends B {
    13. constructor(name:string,age:number) {
    14. super(name,age)
    15. console.log(this.name)
    16. //正常,因为父类的name没有加修饰符,默认为public
    17. console.log(age)
    18. //正常,访问自己的age
    19. console.log(this.age)
    20. //报错,因为这里的this.age表示继承父类 B的私有属性age
    21. }
    22. }
    23. let b = new B('bbb', 10)
    24. b.getName() //调用方法,访问正常
    25. console.log('属性', b.name, b.age)
    26. //age是classB的私有属性,无法继承,访问失败,报错
    27. let a=new A('aaa',20)

    image.png