Scala 通过 Trait 实现多继承效果

7 阅读1分钟
package level02

object class10{
  // 定义第一个特质,包含身高属性
  trait Tall {
    var height: Int = 180
  }

  // 定义第二个特质,包含眼睛属性
  trait Eye {
    var beautifulEye: String = "大眼睛"
  }

  // 类通过 extends 继承第一个特质,with 混合其他特质
  class Girl extends Tall with Eye {}

  def main(args: Array[String]): Unit = {
    // 创建 Girl 类的实例
    val girl1 = new Girl()
    // 访问从特质继承的属性
    println(girl1.beautifulEye)
    println(girl1.height)

    // 可选:修改特质的属性并再次打印
    girl1.height = 175
    girl1.beautifulEye = "双眼皮大眼睛"
    println("修改后的属性:")
    println(girl1.beautifulEye)
    println(girl1.height)
  }
}