位置:首页 > web前端 > typescript

ts中类里面的修饰符

dearweb 发布:2021-07-25 12:10:38阅读:

ts中类里面的修饰符,typescript中定义属性的时候给我们提供了三种修饰符,属性如果不加修饰符默认就是公有public

public 公有 在类里面、子类里面、类外面都可以访问

class Person{
    public name:string; // 公有属性
    // 构造函数 实例化类的时候触发的方法
    constructor(name:string){
        this.name = name;
    }
    run():string{
        return `${this.name}在运动`
    }
}
// Web 继承Person类 
class Web extends Person{
    constructor(name:string){
        super(name)
    }
}
let W = new Web('知了')
console.log(W.run()) //知了在运动

//外部访问
let P = new Person('武汉')
console.log(P.name) // 武汉

protected 保护类型  在类里面、子类里面可以访问,在类外面没法访问

// 保护类型(类外部没法访问)
class Person{
    protected name:string; // 保护类型
        // 构造函数 实例化类的时候触发的方法
        constructor(name:string){
            this.name = name;
        }
        run():string{
            return `${this.name}在运动`
        }
    }
    // Web 继承Person类 
    class Web extends Person{
        constructor(name:string){
            super(name)
        }
    }
    let W = new Web('知了')
    console.log(W.run()) //知了在运动
    
    let P = new Person('武汉')
    console.log(P.name) // 警告 index.ts:130:19 - error TS2445: Property 'name' is protected and only accessible within class 'Person' and its subclasses.

private 私有 在类里面可以访问,子类、类外面都没法访问

    class Person{
        private name:string; // 保护类型
            // 构造函数 实例化类的时候触发的方法
            constructor(name:string){
                this.name = name;
            }
            run():string{
                return `${this.name}在运动`
            }
        }
        // Web 继承Person类 
        class Web extends Person{
            constructor(name:string){
                super(name)
            }
        }
        let W = new Web('知了')
        console.log(W.run()) //知了在运动
        
        let P = new Person('武汉')
        console.log(P.name) // 警告 index.ts:130:19 - error TS2445: Property 'name' is protected and only accessible within class 'Person' and its subclasses.


24人点赞 返回栏目 提问 分享一波

小礼物走一波,支持作者

还没有人赞赏,支持一波吧

留言(问题紧急可添加微信 xxl18963067593) 评论仅代表网友个人 留言列表

暂无留言,快来抢沙发吧!

本刊热文
网友在读
手机扫码查看 手机扫码查看