实验2-Scala编程初级实践
实验目的:
- 掌握 Scala 语言的基本语法、数据结构和控制结构;
- 掌握面向对象编程的基础知识,能够编写自定义类和特质;
- 掌握函数式编程的基础知识,能够熟练定义匿名函数。熟悉 Scala 的容器类库的基本层次结构,熟练使用常用的容器类进行数据;
- 熟练掌握 Scala 的 REPL 运行模式和编译运行方法。
数据类型:
Scala和Java一样,有7种数值类型:Byte、Char、Short、Int、Long、Float、Double和无包装类型Boolean、Uint类型。
注意:Uint表示无值,和其他语言中的void等同。用作不返回任何结果的方法的结果类型。
今天主要是对于实验二的任务二进行了解决 2. 模拟图形绘制 case class Point(var x:Double,var y:Double) extends Drawable{ def shift(deltaX:Double,deltaY:Double){x+=deltaX;y+=deltaY} } trait Drawable{ def draw(){println(this.toString)} } // 请完成 Shape 类、Line 类和 Circle 类的定义。 object MyDraw{ def main(args: Array[String]) { val p=new Point(10,30) p.draw; val line1 = new Line(Point(0,0),Point(20,20)) line1.draw line1.moveTo(Point(5,5)) //移动到一个新的点 line1.draw line1.zoom(2) //放大两倍 line1.draw val cir= new Circle(Point(10,10),5) cir.draw cir.moveTo(Point(30,20)) cir.draw cir.zoom(0.5) cir.draw } } 编译运行程序,期望的输出结果如下: Point(10.0,30.0) Line:(0.0,0.0)--(20.0,20.0) Line:(5.0,5.0)--(25.0,25.0) Line:(-5.0,-5.0)--(35.0,35.0) Circle center:(10.0 自我抑郁又自我救赎