鸿蒙Harmony OS Next原生开发TS的权限修饰符面向对象开发中的应用

鸿蒙初开,开天辟地

权限修饰符面向对象开发中的应用

这边我们举一个实在的例子,暂时为什么使用权限修饰符,以及权限修饰符怎么用

class BankCard{
  private money:number = 0;
  constructor(money:number){
    this.money = money;
  }
  public push(send:number){
    if(send > 0){
      this.money += send;
    }
    else{
      console.log("这肯定不对劲,怎么会存入负数呢");
    }
  }
  public pop(take:number){
    if(take > 0){
      if(this.money > take){
        this.money -= take;
      }
      else{
        console.log("没有那么多余额了");
      }
    }
    else{
      console.log("取款数量要大于0");
    }
  }
  public getMoney(){
    return this.money;
  }
}
// 开户存入100元
var card:BankCard = new BankCard(100);
// 发工资了,又存点钱进去
card.push(5000);
// 心情好,取点钱买东西
card.pop(3000);
console.log(card.getMoney());

弄个银行卡例子

这里我们将银行卡类的存款设置为private,不对外暴露,保证不会存在有hack进入后,通过侵入式的代码直接修改我们属性的可能,因为对于非这个类的情况下,是无法操作也不可见这个值的

我们只对外暴露获取值的方法,以及正常的存取款方法,这样就保证了,对象的数据安全

 

  public push(send:number){
    if(send > 0){
      this.money += send;
    }
    else{
      console.log("这肯定不对劲,怎么会存入负数呢");//正常来说这里应该是抛异常发警告信息
    }
  }
 public pop(take:number){//取款方法
    if(take > 0){
      if(this.money > take){
        this.money -= take;
      }
      else{
        console.log("没有那么多余额了");
      }
    }
    else{
      console.log("取款数量要大于0");
    }
  }
public getMoney(){//获取余额的方法
    return this.money;
  }

综上所述,我们在实际开发中,应当尽力避免直接获取或是操作值的出现,我们需要把所有涉及到属性值的操作封装为对象的方法,让对象去操作而不是直接修改

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值