一天一段scala代碼(八)

一天一段scala代碼(八)

       爲了更好的駕馭spark,最近在學習scala語言特性,主要看《快學scala》,順便把一些自己認爲有用的代碼記下來。


package examples


class Person8
{
    var name:String=""
    def this(name:String)
    {
      this()//一定要先調用主構造器.每個輔助構造器最終都會調用主構造器
      this.name=name
    }
    override def toString=
    {
       "name:"+name
    }
    def show=
    {
      println("Person:"+toString)
    }
}

class Employee(name:String,salary:Double) extends Person8(name:String) //只有主構造器能夠調用超類的構造器
{
    override def toString=
    {
       "name:"+name+",salary:"+salary
    }
    
    override def show=
    {
      println("Employee:"+toString)
    }
    
  
}

object Example8 extends App{
  val t1 = new Person8("linger")
  println(t1)
  t1.show
  
  val t2 = new Employee("linger",15)
  println(t2)
  t2.show
  
  val t3:Person8 = t2   //這裏跟c++不一樣阿,c++必須是虛函數,纔會呈現多態.scala裏沒有虛函數,所有函數只要被override了都會呈現多態
  println(t3)
  t3.show
}










輸出:
name:linger
Person:name:linger
name:linger,salary:15.0
Employee:name:linger,salary:15.0
name:linger,salary:15.0
Employee:name:linger,salary:15.0

本文鏈接:http://blog.csdn.net/lingerlanlan/article/details/43836271
本文作者:linger



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章