1.抽象類
在scala 中,使用 abstract 修飾的類稱為抽象類, 在抽象類中可以定義屬性、未實現的方法和具體實現的方法
abstract class animal
}
2.繼承
繼承是物件導向的概念,用於**的可重用性, 被擴充套件的類稱為超類或父類,擴充套件的類稱為派生類或子類,scala 可以通過使用 extends 關鍵字來實現繼承其他類或者特質
class dog extends animal
override def eat(f: string): unit =
父類已經實現了的功能,子類必須使用 override 關鍵字重寫
父類沒有實現的方法,子類必須實現
3.final和type關鍵字
final:
final 修飾的類不能被繼承
final 修飾的屬性不能重寫
final 修飾的方法不能被重寫
type:
scala 裡的型別,除了在定義 class trait object 時會產生型別,還可以通過 type 關鍵字來宣告型別。
type 相當於宣告乙個型別別名:
例如下邊的示例中把 string 型別用 s
type s = string
val name: s = "小星星"
println(name)
通常 type 用於宣告某種複雜型別,或用於定義乙個抽象型別
4.樣例類/樣例物件
樣例類,使用 case 關鍵字 修飾的類, 其重要的特徵就是支援模式匹配
樣例類預設是實現了序列化介面的
case class message(msgcontent: string)
/*** 樣例 object, 不能封裝資料, 其重要特徵就是支援模式匹配
*/case object checkheartbeat
可以使用 new 關鍵字建立例項, 也可以不使用
val msg = message("hello") println(msg.msgcontent)
}
SCALA物件導向程式設計(二)
五 隱式轉換和隱式函式 5.1隱式轉換 implicit def a d double d.toint 先宣告隱式函式,宣告後就不用管,程式過不去,會自動查詢。val i1 int 3.5 ok 當發現程式有誤時,scala編譯器會嘗試在隱式函式列表中查詢可以進行轉換的函式 注意 5.2利用隱式轉換...
Scala介紹二 物件導向
在物件導向學習中,scala的repl就不太合適了,所以需要使用ide來完成後續練習,idea最為流行,下面是在idea中建立scala專案的方法。參考文章 步驟一 首先我們在選單欄點選file new project,然後在彈出的頁面選擇scala,在右側點選idea,接下來我們輸入專案名稱,jd...
Scala光速入門之物件導向(二)
1 函式定義 class person def getname name val p new person println p.name 呼叫的是內部自動生成的getter方法,結果 spark p.name scala 呼叫的是內部自動生成的setter方法 println p.name 結果 s...