typescript-类的访问权限public、private、protected

访问权限

这个你可以理解为类的某个属性或者某个方法可以在哪里访问。分三种,public(默认),protected,private

public

public表示在任意的地方都可以访问某个类的属性或者方法

场景:

比如你叫小名,别人要叫你的时候,得知道你的名字,那么你这个名字就是public,在任意的地方都可以访问。

TypeScript 复制代码
class Person {
    public name: string = "小名";
}
let person = new Person();
console.log(person.name);

private

private表示只可以在当前类的实例方法中进行访问的属性或者方法。

场景:

你去银行ATM机取钱,需要输入取款密码,这个密码必须是私有的,要不然你的钱就会被别人取走了。

TypeScript 复制代码
class Person {
    private _cardPassword: string = "123456";
    public getCash(): void {
        console.log("我的密码是:", this._cardPassword);
    }
}
let person = new Person();
// console.log(person._cardPassword); // 这里会报错
person.getCash();

protected

protected表示可以在当前类的实例或者子类(子类可继承)中可以访问的属性或者方法。

场景:

你父亲是一个大企业的老板,年纪大了,想让你继承家业,跟你说:以后公司就是你的了,里面有3000亿的存款。那么这3000亿的存款,只能你来继承,别人继承不了,这个3000亿的存款就是protected的。

TypeScript 复制代码
class Boss {
    protected _cash: string = "3000亿";
}
class LittleBoss extends Boss {
    public cashNum(): void {
        console.log("我从父亲那里继承的存款:", this._cash);
    }
}
let lBoss = new LittleBoss();
// console.log(lBoss._cash); // 报错
lBoss.cashNum();
相关推荐
默_笙4 分钟前
🎉 AI 项目里为什么需要 BFF?因为我实在不想在前端处理二进制流
前端·javascript
Revolution615 分钟前
改一个订单筛选,为什么要在六个目录里来回找,前端项目目录到底要怎么拆
前端·前端工程化
阳光是sunny18 分钟前
LangGraph高级教程:Multi Schema多状态管理详解
前端·人工智能·后端
mCell1 小时前
从 TodoList 到 Microsoft To Do:全栈工程师到底要管什么?
前端·编程语言·全栈
阳光是sunny1 小时前
LangGraph实战教程:状态管理与`graph.invoke`入参深度解析
前端·人工智能·后端
神奇小汤圆2 小时前
深入解析 Flink Kafka Connector:原理、配置与最佳实践
前端·后端
科技之门2 小时前
百公里管网漏损分级定位实战方案2026
前端·人工智能·算法
xyphf_和派孔明2 小时前
企业级微前端项目完整创建步骤,第三步:配置 Vue 子应用
前端·javascript
自强的小白2 小时前
条件查询或查询全部时时前端请求数据等时间格式
前端
阳光是sunny2 小时前
LangGraph实战教程:一文搞懂图的状态(State)管理
前端·人工智能·后端