Scala物件導向二

2021-08-28 17:36:41 字數 1171 閱讀 5735

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...