scala中的算术符重载代码详细解释
overload_exercise.scala代码如下:
object Overload_Exercise extends Serializable {
//------------------------下面是被调用的子函数定义------------------------------------------------class Complex(val real: Int, val imaginary: Int) {def +(operand: Complex): Complex = {//这个函数返回的类型是类类型,该类类型是Complexnew Complex(real + operand.real, imaginary + operand.imaginary)}//这里的意思是,往这个COmplex的入口分别传入两个参数,一个是实数部分,一个是虚数部分.override def toString(): String = //返回String类型,下面的中括号是返回的内容.{real + (if (imaginary < 0) "" else "+") + imaginary + "i"}
}//------------------------下面是主函数------------------------------------------------def main(args: Array[String]): Unit = {val c1 = new Complex(1, 2)//利用上面的class来建立一个对象val c2 = new Complex(2, -3)val sum = c1 + c2//注意,这里重载符号生效了,可以观察到,被重载的+符号的函数,被定义在该类中.println("(" + c1+ ")+ (" + c2 + ")=" + sum)}}
运行方法如下:
scalac overload_exercise.scala
scala Overload_Exercise
运行结果是:
(1+2i)+ (2-3i)=3-1i
其实,就是你想要+号的左右两侧分别处理某种class,
那么就在这个class内部对符号进行重载.
scala中的算术符重载代码详细解释相关推荐
- 用汇编的眼光看C++(之算术符重载陷阱)
[ 声明:版权所有,欢迎转载,请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 在算术符重载里面,"="重载可能是最经常使用的一种.但是好多人就误以为在函 ...
- 用汇编的眼光看C++(之算术符重载)
[ 声明:版权所有,欢迎转载,请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 算术符重载是类的有一个特性,但是每个人使用的方法不一样.用的好,则事半功倍:但是如果不正确的使 ...
- 重写重载—重写详细解释
重写重载-重写详细解释 重写 重写发生在运行期间,是子类对父类的允许访问的方法的实现过程进行重新编写 1.方法名.参数列表必须相同,子类方法返回值类型应比父类方法返回值类型更小或相等,抛出的异常范围小 ...
- PointNet代码详细解释(Pytorch版本)
pointnet.pytorch的代码详细解释 1. PointNet的Pytorch版本代码解析链接 2. 代码解释 2.1 代码结构思维导图 2.2 代码注释 2.2.1 build.sh 2.2 ...
- 吴恩达机器学习 神经网络 作业1(用已经求好的权重进行手写数字分类) Python实现 代码详细解释
整个项目的github:https://github.com/RobinLuoNanjing/MachineLearning_Ng_Python 里面可以下载进行代码实现的数据集 题目介绍: In t ...
- 吴恩达机器学习 逻辑回归 作业3(手写数字分类) Python实现 代码详细解释
整个项目的github:https://github.com/RobinLuoNanjing/MachineLearning_Ng_Python 里面可以下载进行代码实现的数据集 题目介绍: In t ...
- 吴恩达机器学习 逻辑回归 作业2(芯片预测) Python实现 代码详细解释
整个项目的github:https://github.com/RobinLuoNanjing/MachineLearning_Ng_Python 里面可以下载进行代码实现的数据集 题目介绍: In t ...
- 【Scala】Scala中常见集合的使用---代码详解
1.List集合的使用及创建 object ListDemo1 {def main(args: Array[String]): Unit = {//创建一个Listval list: List[Int ...
- theano中的Rop和Lop的详细解释
#------------------------------------------序------------------------------------------------------- ...
最新文章
- 红帆科技将参展2009第十三届中国国际软件博览会
- 使用PHPExcel判别和格式化Excel中的日期格式
- SQL Server R2 地图报表制作(四)
- python easygui_Python里的easygui库
- Python help 函数 - Python零基础入门教程
- 无人驾驶的规划与控制(一)——路由寻径
- vue要求更新3.0-》使用axios的时候出现错误
- Python连接presto
- 科大学长对数学系学弟学妹的忠告
- PASCAL VOC2012数据集下载地址
- 物联网需要php和嵌入式吗,物联网与嵌入式两者是什么关系
- 高级程序员的思维模式
- 设计师学python有什么用_Python是个什么鬼?为什么设计大牛都在学它?!
- 浅谈OSPF的DRBDR
- 相差天数时分秒_PHP 小方法之 计算两个时间戳之间相差的日时分秒
- iOS打包错误The operation couldn’t be completed. (AppThinning.StubError error 1.)
- 手机andriod 开发---android test的执行
- 立即注册 | 甲骨文云技术嘉年华重磅开启,全球云大会精彩再现!
- Java语言编写简单分数计算器
- apache dubbo 源码分析系列汇总