当前位置: 首页 > news >正文

Scala的属性访问权限(一)默认访问权限

//eg:银行账户存钱取钱
//  账户类:
//  -balance()  余额
//  -deposit()  存钱
//  -withdraw() 取钱
//  -transfer(to:账户,amount:Dobule)转账
package Test1104
//银行账户class BankAccount(private var balance:Int){def showMoney():Unit ={println(s"现在的余额是:${balance}")}def deposit(money:Int):Unit ={balance += money}def withdraw(money:Int):Unit ={if(money <= balance)balance -= money}//转账def transfer(to:BankAccount,money:Int):Unit = {//A --200-->B//A 减少 B 增加}
}object Test11041 {def main(args: Array[String]): Unit = {var xiaoming = new BankAccount(0)var xiaohua = new BankAccount(100)//存入200xiaohua.deposit(200)//取出150xiaohua.withdraw(1500)//转账给小明xiaohua.transfer(100)xiaohua.showMoney()xiaoming.showMoney()//    println(xiaohua.balance)}
}
package Test1104
//银行账户//private[this]:这个属性,只能在当前对象上使用!
class BankAccount(private var balance:Int){def showMoney():Unit ={println(s"现在的余额是:${balance}")}def deposit(money:Int):Unit ={balance += money}def withdraw(money:Int):Unit ={if(money <= balance)balance -= money}//  如何实现//转账:把当前的账户的余额全部转出 money 给 to 这个账户def transfer(to:BankAccount,money:Int):Unit = {//A --200-->B//A 减少 B 增加if(money <= balance){//把自己减少to.balance -= money//把对方增加to.balance += moneyto.deposit(money)}}
//  def test(to:BankAccount):Unit ={
//    to.balance = 0
//  }
}object Test11041 {def main(args: Array[String]): Unit = {var xiaoming = new BankAccount(0)var xiaohua = new BankAccount(100)//存入200xiaohua.deposit(200)//取出150xiaohua.withdraw(150)//转账给小明xiaohua.transfer(xiaoming,100)xiaohua.showMoney()xiaoming.showMoney()//    println(xiaohua.balance)}
}

 

输出结果

现在的余额是:200
现在的余额是:0

http://www.lryc.cn/news/478131.html

相关文章:

  • 【算法】(Python)贪心算法
  • 条件logistic回归原理及案例分析
  • redis7学习笔记
  • 重学Android:自定义View基础(一)
  • 前端好用的网站分享——CSS(持续更新中)
  • 华为HarmonyOS借助AR引擎帮助应用实现虚拟与现实交互的能力3-获取设备位姿
  • qt QColorDialog详解
  • 【测试小白--如何写好测试用例--测试用例编写的方法+结合常见登录模块为实例--保姆级教学】
  • 真题--数组循环题目
  • 【Linux系列】在Linux下安装微信
  • 还在使用ElementUI不如试一试DaisyUI,DaisyUI: Tailwind CSS 的高效组件库,
  • 高光谱激光雷达遥感团队成员白杰博士获全国激光雷达优博论文奖
  • 24年配置CUDA12.4,Pytorch2.5.1,CUDAnn9.5运行环境
  • 基于springboot得高校评教教师工作量管理系统设计与实现
  • Rust 力扣 - 1456. 定长子串中元音的最大数目
  • 【Golang】validator库的使用
  • 【AI日记】24.11.06 我对投资的一点浅见
  • 2024江苏省网络建设与运维省赛Linux(一)系统安装
  • 详解Python面向对象程序设计
  • JS保留两位小数
  • ClickHouse集成Mysql表引擎跨服务器读表说明
  • 【AI构思渲染】别眨眼!这些图片立马变效果图!
  • 多特征变量序列预测(10)基于麻雀优化算法的CEEMDAN-SSA-Transformer-BiLSTM预测模型
  • 算法学习(十)—— 字符串
  • 「Mac畅玩鸿蒙与硬件16」鸿蒙UI组件篇6 - List 和 Grid 组件展示数据列表
  • masm汇编字符输入小写转大写演示
  • 防火墙|WAF|漏洞|网络安全
  • 继承机制深度解析:从基础到进阶的完整指南
  • 8. 数据结构——邻接表、邻接矩阵的基本操作
  • OpenCV Python 版使用教程(二)摄像头调用