Groovy操作符重载

  你可以使用Groovy实现操作符重载, 那么 Groovy是怎么做到的了?其实非常简单, 事实上 —每个运算符都有一个标准的映射方法.因此, 在Java中你可以使用这些方法,对于Groovy 你 可以使用操作符或操作符对应的方法,这两者任意一种.

下面的表格描述了groovy中的操作符所映射到的方法:


操作符和方法的对应

你可以通过添加映射方法来为自己的类提供操作符, 像 plus( ) 对应+. 这里将展示一个操作符重载:

class ComplexNumber {
    def real, imaginary
    def plus(other) {
        new ComplexNumber(real: real + other.real,imaginary: imaginary + other.imaginary)
    }
    String toString() {
        "$real ${imaginary > 0 ? '+' : ''} ${imaginary}i" }
    }

c1 = new ComplexNumber(real: 1, imaginary: 2)
c2 = new ComplexNumber(real: 4, imaginary: 1)
println c1 + c2

因为你ComplexNumber类中添加了plus( ) 方法,Groovy 允许你使用 + 获取两个复数相加 的结果 ,输出:5 + 3i

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,088评论 19 139
  • 前言 人生苦多,快来 Kotlin ,快速学习Kotlin! 什么是Kotlin? Kotlin 是种静态类型编程...
    任半生嚣狂阅读 26,522评论 9 118
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 47,148评论 6 342
  • 什么是 Groovy? 简言之,Groovy是一种基于JVM(Java虚拟机)的敏捷动态开发语言。它是一种成熟的面...
    北纬26阅读 9,614评论 0 14
  • 这段时间,经历了很多,从辞职,到身体种种的问题,都让我在这些日子以来一直不断思考人生,探索努力的意义所在,于我而言...
    戴公子阅读 2,790评论 0 0

友情链接更多精彩内容