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

news/2024/11/7 11:23:15/
//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.ppmy.cn/news/1545042.html

相关文章

数据结构:跳表实现(C++)

个人主页 &#xff1a; 个人主页 个人专栏 &#xff1a; 《数据结构》 《C语言》《C》《Linux》《网络》 《redis学习笔记》 文章目录 前言跳表跳表的优化思路skiplist&#xff0c;平衡搜索树&#xff0c;哈希表的对比 实现思路SkiplistNodesearch 搜索add 增加earse 删除 整体…

8. 数据结构——邻接表、邻接矩阵的基本操作

一、邻接表 1. 内容 2. 实现代码(直接可以复制使用) //邻接表的相关操作 #include<bits/stdc.h> #define MVnum 100 #define OK 1 #define ERROR -1 using namespace std;typedef int Status; typedef char VerTexType; //假设顶点的数据类型为char typedef int ArcT…

Python 三维图表绘制指南

Python 三维图表绘制指南 在数据可视化中&#xff0c;三维图表可以更直观地展示数据之间的关系&#xff0c;尤其是当数据具有多个维度时。Python 提供了多个库来绘制三维图表&#xff0c;其中最常用的就是 Matplotlib。本文将介绍如何使用 Matplotlib 绘制三维图表&#xff0c…

pycharm中的服务是什么?

在PyCharm中&#xff0c;服务是指允许在PyCharm中运行的一种功能或插件。服务可以是内置的&#xff0c;也可以是通过插件安装的。 一些常见的PyCharm服务包括&#xff1a; 调试服务&#xff1a;PyCharm提供了全功能的调试工具&#xff0c;可以帮助开发人员通过设置断点、监视变…

JavaScript中的变量作用域

写在前面 在JavaScript中&#xff0c;变量作用域是指变量在代码中可见的范围。理解变量作用域对于编写高效、可维护的JavaScript代码至关重要。本文将深入探讨JavaScript中的变量作用域&#xff0c;包括全局作用域、函数作用域和块级作用域。 全局作用域 在JavaScript中&…

猫用空气净化器哪个牌子好?求除毛好、噪音小的宠物空气净化器!

换毛季家里孩子不省心&#xff0c;疯狂掉落的猫毛和空气中乱飞的浮毛可把我折磨死了。每天下班都要抽出时间来清理&#xff0c;不然这个家就不能要了。猫毛靠我自己可以打扫&#xff0c;浮毛还得借助宠物空气净化器这种专业工具。所以我最近着手做功课&#xff0c;打算入手一台…

梧桐数据库-使用Python和梧桐数据库进行多维数据分析分享

在数据驱动的商业决策中&#xff0c;多维数据分析&#xff08;MDA&#xff09;是一种强大的工具&#xff0c;它允许我们从多个角度探索数据&#xff0c;揭示潜在的趋势和模式。本文将介绍如何使用Python结合梧桐数据库来执行多维数据分析&#xff0c;并通过一个实际的例子来展示…

dockerfile 和 docker compose

目录 1.dockerfile和docker compose区别 主要区别 目的&#xff1a; 格式&#xff1a; 使用场景&#xff1a; 2.Dockerfile 2.1基本格式 2.2模块解析 2.3例子 3.docker compose 3.1安装 3.2格式 3.3执行 1.dockerfile和docker compose区别 Dockerfile 和…