当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:13:00  来源:本站整理

面向Java开辟人员的Scala指南 - 类操作[Java编程]

赞助商链接



  本文“面向Java开辟人员的Scala指南 - 类操作[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

Java™ 开辟人员可以将对象作为理解 Scala 的动身点.本文是面向 Java 开辟人员的 Scala 指南 系列 的第二期,作者 Ted Neward 遵守对一种语言举行评价的基本前提:一种语言的威力可以直接通过它集成新功效的本领衡量,在本文中就是指对复数的支持.跟随本文,您将理解在 Scala 中与类的定义和利用有关的一些风趣特点.

在上一期 文章 中,您只是略微理解了一些 Scala 语法,这些是运行 Scala 程序和理解其简单特点的最基本要求.通过上一篇文章中的 Hello World 和 Timer 示例程序,您理解了 Scala 的 Application 类、办法定义和匿名函数的语法,还略微理解了 Array[] 和一些范例推断方面的知识.Scala 还供应了很多其他特点,本文将研究 Scala 编程中的一些较复杂方面.

Scala 的函数编程特点非常惹人注目,但这并非 Java 开辟人员应当对这门语言感爱好的惟一缘由.实际上,Scala 交融了函数概念和面向对象概念.为了让 Java 和 Scala 程序员感到得心应手,可以理解一下 Scala 的对象特点,看看它们是如安在语言方面与 Java 对应的.记着,此中的一些特点并非直接对应,大概说,在某些情形下,“对应” 更像是一种类比,而不是直接的对应.不过,碰到重要辨别时,我会指出来.

Scala 和 Java 一样利用类

我们不对 Scala 支持的类特点作冗长而抽象的谈论,而是着眼于一个类的定义,这个类可用于为 Scala 平台引入对有理数的支持(主要鉴戒自 “Scala By Example”,拜见 参考资料):

清单 1. rational.scala

class Rational(n:Int, d:Int)
{
 private def gcd(x:Int, y:Int): Int =
 {
  if (x==0) y
  else if (x<0) gcd(-x, y)
  else if (y<0) -gcd(x, -y)
  else gcd(y%x, x)
 }
 private val g = gcd(n,d)

 val numer:Int = n/g
 val denom:Int = d/g

 def +(that:Rational) =
  new Rational(numer*that.denom + that.numer*denom, denom * that.denom)
 def -(that:Rational) =
  new Rational(numer * that.denom - that.numer * denom, denom * that.denom)
 def *(that:Rational) =
  new Rational(numer * that.numer, denom * that.denom)
 def /(that:Rational) =
  new Rational(numer * that.denom, denom * that.numer)
 override def toString() =
  "Rational: [" + numer + " / " + denom + "]"
}

从词汇上看,清单 1 的整体构造与 Java 代码近似,但是,这里明显还有一些新的元素.在具体谈论这个定义之前,先看一段利用这个新 Rational 类的代码:

清单 2. RunRational

class Rational(n:Int, d:Int)
{
  // ... as before
}
object RunRational extends Application
{
  val r1 = new Rational(1, 3)
  val r2 = new Rational(2, 5)
  val r3 = r1 - r2
  val r4 = r1 + r2
  Console.println("r1 = " + r1)
  Console.println("r2 = " + r2)
  Console.println("r3 = r1 - r2 = " + r3)
  Console.println("r4 = r1 + r2 = " + r4)
}


  以上是“面向Java开辟人员的Scala指南 - 类操作[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • Jt —— 面向Java情势的框架
  • 面向Java开辟人员的Scala指南 - 用Scitter更新Twitter
  • 面向Java开辟人员的Scala指南 - 类操作
  • 面向Java开辟人员的Scala指南 - 面向对象的函数编程
  • 面向Java开辟人员的Scala指南 - 实现承当
  • 面向Java开辟人员的Scala指南 - Scala和servlet
  • 面向Java开辟人员的Scala指南 - Scala掌握构造内部揭密
  • 面向Java开辟人员的Scala指南 - 包和访谒修饰符
  • <b>面向Java开辟人员的Scala指南 - 构建计算器,第1部份</b>
  • 面向Java开辟人员的Scala指南 - 构建计算器,第2部份
  • 面向Java开辟人员的Scala指南 - 构建计算器,第3部份
  • 面向Java开辟人员的Scala指南 - 关于特点和行为
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .