寒假学习笔记04

实验2-Scala编程初级实践

实验目的:

  1. 掌握 Scala 语言的基本语法、数据结构和控制结构;
  2. 掌握面向对象编程的基础知识,能够编写自定义类和特质;
  3. 掌握函数式编程的基础知识,能够熟练定义匿名函数。熟悉 Scala 的容器类库的基本层次结构,熟练使用常用的容器类进行数据;
  4. 熟练掌握 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
 
 
 
 
 
 
自我抑郁又自我救赎
原文地址:https://www.cnblogs.com/Evak/p/12260315.html