scala中的类和对象

48 阅读1分钟

1.类

1.1概念:类是属性和行为的集合,是创建对象的模板,定义了对象的属性和方法。

(1). 属性:也叫成员变量。 名词,用来描述事物的外在特征

(2). 行为:也叫成员方法:动词,表示事物能做什么

代码如下:
object basic23 {
  // 定义一个类
//  类名:首字母大写
//  class 类名(){}
  class Student() {
    //  属性
    //  定义属性和定义变量一致
    var name: String ="小花"
    var age:Int = 18
//    方法
//    定义方法和定义函数一致
    def sayHello(): Unit ={
      println(s"我是${age} 岁的${name}")
    }
  }
  def main(args: Array[String]): Unit = {
//2.创建对象(实例化对象)
//    对象名=new  类名()
    val st1=new Student()

    // 通过对象、属性名  来访问属性
    println(st1.name)

    st1.sayHello()
//
//    val st2=new Student()
//    println(st2)
  }

}

2.对象

2.1. 在Scala中,用class来创建类,用new来创建对象。

2.2 三角形面积问题:

object basic24 {
  // 面向对象编程的三个特点
  // 封装,继承,多态
  class Triangle(a: Double, b: Double, c: Double) {
    // 计算面积

    def getAera(): Double = {
      if (check()){
      //  能否根据三条边长,来计算面积?  海伦公式
      var s = (a + b + c) / 2
      s = s * (s - a) * (s - b) * (s - c)
      return Math.sqrt(s) // Math.sqrt(4) ==>2  就是开平方操作
    }else{
        print("不能构成三角形")
        return 0
      }
  }

  // 检查是否能构成三角形
  def check(): Boolean = {
    // 任意两边之和大于第三边
    return (a + b) > c && (a + c) > b && (b + c) > a
  }
}
  def main(args: Array[String]): Unit = {
//Triangle表示一个三角形类
//   Triangle(边长1,边长2,边长3)
   val t1=new Triangle(3,4,5)
   println(t1.getAera())// 获取面积

   val t2=new Triangle(4,4,4)
   println(t2.getAera())// 获取面积

   val t3=new Triangle(1,1,4)
   println(t3.getAera())
  }

}