抽象类 (自用)

package xy
//抽象类:制定标准,让其他类去实习
//智能汽车
//abstract:抽象类。有抽象方法的类,就是抽象类。抽象方法就是没有方法体的方法 def autoRun


abstract class AICar(){
  var sheel =4
  val hasDriver = false
  //抽象属性
  var brand:String
  //自动开
//   def autoRun:Unit={
//   // 实现
// }
  //具体方法
def run():Unit={
  println("AI car run....")
}
  //抽象方法
  def autoRun
  //抽象方法
  def autoPark
}
class XiaoMiSU7 extends AICar{
//把父类抽象变成现实
   var brand = "SU7"
   sheel = 3//重写父类属性
  override val hasDriver = true
   def autoRun():Unit={
    println(s"小米自动驾驶.....${sheel},${hasDriver}")
   }
   def autoPark ():Unit={
     println(s"小米的自动泊车功能")
  }
     override def run():Unit={
       println("小米 su7 的 run")
     }
}
object T5 {
  def main(args: Array[String]): Unit = {
//    val c = new AICar()
    var x1 = new XiaoMiSU7()
//    x1.autoRun()
    x1.autoPark()
    }
}

//自用

你可能感兴趣的:(scala)