Scala Rational对象的toString方法
前例中当Rational实例被创建之后,解释器打印输出“Rational@a0b0f5”。解释器是通过调用Rational对象的toString方法获得的这个看上去有些好玩儿的字串。缺省情况下,Rational类继承了定义在java.lang.Object类上的toString实现,只是打印类名,一个@符号和一个十六进制数。toString的结果主要是想通过提供可以用在除错时的语句打印,日志消息,测试错误报告和解释器,除错器输出的信息来尝试对程序员提供帮助。目前toString提供的结果不会特别有用,因为它没有给出任何它被调用的Rational数值的任何线索。更有用的toString实现应该打印出Rational的分子和分母。你可以通过在Rational类里增加toString方法的方式重载:override缺省的实现,如:
51CTO编辑推荐:Scala编程语言专题
class Rational(n: Int, d: Int) { override def toString = n +"/"+ d }
方法定义前的override修饰符标示了之前的方法定义被重载;第10章会更进一步说明。现在分数显示得很漂亮了,所以我们去掉了前一个版本的Rational类里面的println除错语句。你可以在解释器里测试Rational的新行为:
相关推荐
FCLAMP 2020-04-18
beibeijia 2019-12-22
realhero 2009-12-22
Dansha的花果山 2019-06-30
了不起的厂长 2019-06-28
红流 2014-08-18
PHP恶魔笔记 2019-06-12
pdw00 2019-06-25
Sincelily 2013-04-26
MarkArch 2019-06-21
xiaowanggedege 2009-12-29
xuchuangfeng 2018-08-14
liubingger 2018-03-08
火焰雪人 2019-05-06
cmfire 2016-05-16
无主之地 2019-04-25
wujimiao 2013-04-27