scala中的类和对象

49 阅读1分钟

(一)面向对象

1.面向对象的三大思想特点

(1) 更符合人们的思考习惯

(2) 把复杂的事情简单化

(3) 把程序员从执行者变成指挥者

2. 面向对象的三大特征是

(1) 封装

(2) 继承

(3) 多态

(二)创建类和对象

object ddd19 {
  class Person(){}
  class Student(){}
  def main(args: Array[String]): Unit = {
    val p1 = new Person()
    val s1 = new Student()
    println(p1)
    println(s1)
  }
}

(三)定义和访问成员变量

object ddd20 {
  class Student() {
    var name:String = "乐子"
    var age:Int = 18

    def say():Unit = {
      println(s"${name},${age}")
    }
  }

  def main(args: Array[String]): Unit = {
    val s1 = new Student()
    s1.say()
  }
}

(四)判断是否是一个三角形,求三角形的面积

object ddd21 {
  class Triangle (var a:Double = 1.0 ,var b:Double = 1.0,var c:Double = 1.0) {
   def check():Boolean = {
     return a + b > c && b+c>a && a+c>b
   }
    def getArea(): Double = {
      if (check()) {
        var s = (a + b + c) / 2
        s = Math.sqrt(s * (s - a) * (s - b) * (s - c))
        return s
      } else {
        println(s"$a $b $c 不能构成一个三角形")
        return -1
      }
    }
  }
  def main(args: Array[String]): Unit = {
//    print("请输入第一条边")
//    val a = scala.io.StdIn.readDouble()
//    print("请输入第二条边")
//    val b = scala.io.StdIn.readDouble()
//    print("请输入第三条边")
//    val c = scala.io.StdIn.readDouble()
//    val t1 = new Triangle(a, b, c)
    val t1 = new Triangle(3,4,7)
    println(t1.getArea())
    val t2 = new Triangle(3, 4, 3)  
    println(t2.getArea())
  }
}