scala 抽象类型

47 阅读1分钟
object class08{
//抽象类 abstract
//1.不能new 无法实例化
//2.充当其他类的父类 抽象的方法和属性在子类中具体去实现
abstract class AICar{
	abstract class Job(){
	    //具体属性
	    var name:String = "小花"
	    
	    //具体的方法
	    def hello():Unit = {
	        println("hello...")
	    }
	    
	    //抽象的属性 它没有具体的属性值
	    var age:Int
	    //抽象的方法 没有方法体
	    def sayHello():Unit
	    
	}
	
	def main(args:Array[String]):Unit = {
	    new Job()
	}
   
  }
}

object Main{

abstract class AICar{

    //抽象属性:没有属性值 是抽象的
    var typeTh:String

	//抽象方法
	def autoRun():Unit
	
	}
	
	class XiaoMi extends AICar{
	    
	   override var typeTh = "视觉+雷达技术"
	    
	    def autoRun():Unit = {
	        println(s"小米公司的自动驾驶技术")
	    }
	}
	
	def main(args:Array[String]):Unit = {
	    val su7= new XiaoMi()
	    
	    su7.autoRun()
	    
	}	
}