抽象類、抽象欄位、抽象方法

541732025發表於2015-11-16

點選(此處)摺疊或開啟

  1. abstract class SuperTeacher(val name : String){
  2.   var id : Int //抽象欄位,不需要初始化
  3.   var age : Int
  4.   def teach //抽象方法
  5. }

點選(此處)摺疊或開啟

  1. class TeacherForMaths(name : String) extends SuperTeacher(name){
  2.   override var id = name.hashCode()
  3.   override var age = 29
  4.   override def teach{
  5.     println("Teaching!!!")
  6.   }
  7. }

點選(此處)摺疊或開啟

  1. object AbstractClassOps{
  2.   def main(args: Array[String]) {
  3.      val teacher = new TeacherForMaths("Spark")
  4.      teacher.teach
  5.      println("teacher.id" + ":" + teacher.id)
  6.      println(teacher.name + ":" + teacher.age)
  7.   }
  8. }
結果:
Teaching!!!
teacher.id:80085693
Spark:29

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28912557/viewspace-1839824/,如需轉載,請註明出處,否則將追究法律責任。

相關文章