封装_受保护的属性和方法

前言
在JavaScript中,封装是面向对象编程的一个基本特性,它允许我们将数据和方法组织在一起,并控制对这些数据和方法的访问。受保护的属性和方法通常意味着它们只能在类内部或由该类的子类访问。

● 当然在JavaScript中,使用下划线(_)作为变量名前缀是一种约定俗成的命名规范,旨在表明某个属性或方法是“受保护”或“私有”的。虽然JavaScript并没有严格的访问控制机制来限制对对象属性的访问,但这种命名习惯可以帮助开发者更清晰地理解代码的结构和意图;
● 例如说,我们之前写的代码中像存款取款和密码之类的,可以像下面这样去书写

class Account {
  constructor(owner, currency, pin) {
    this.owner = owner;
    this.currency = currency;
    this._pin = pin;
    this._movements = [];
    this.locale = navigator.language;

    console.log(`欢迎来到你的账户,${owner}`);
  }

  //公共接口
  getMovements() {
    return this._movements;
  }

  deposit(val) {
    this._movements.push(val);
  }

  withraw(val) {
    this.deposit(-val);
  }

  _approveLoan(val) {
    return true;
  }

  requestLoan(val) {
    if (this._approveLoan(val)) {
      this.deposit(val);
      console.log('恭喜你!贷款成功');
    }
  }
}

**当然,这样并不会真正的防止私有字段不会公共访问的问题,这个只是一种约定俗成的方式。**它提供了一种良好的编码实践,使得代码更具可读性、可维护性,并帮助团队遵循面向对象编程的封装原则。
下篇文章再看看私有字段的方法

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值