-
創建類
- 類的聲明中就會帶有主構造器
- 不可變對象
- 優點
- 沒有會隨著時間變化的復雜的狀態空間
- 可以傳遞不可變對象
- 沒有線程可以改變不可變對象的狀態
- 使哈希表更安全
- 缺點
- 有時需要賦值很大的對象表
-
重寫方法
- 需要關鍵字 override def
-
檢查先決條件
- 使用require方法
-
添加字段
- 類中定義的參數,使用時,必須要讓該參數初始化字段,使用字段達到相應效果
- 添加字段后,可以在外部訪問字段
-
自指向
- 關鍵字 this 指向當前執行方法被調用的對象實例,若在構造器中,就是正被構建的對象實例
-
輔助構造器
- 主構造器之外的構造器稱為輔助構造器
- 輔助構造器的定義開始于 def this(…)
- 每個輔助構造器的第一個動作都是調用同類的別的構造器
- 被調用的構造器可以是主構造器也可以是源文件中早于調用構造器定義的其他輔助構造器
-
私有字段和方法
- 私有字段只能在類的主體之內被訪問,外部不可見
- 關鍵字 private 定義的字段和方法都是外部不可見的
-
定義操作符
- 操作符也是函數的一種,可以自己按需求定義
-
Scala的標識符
- 字母數字標識符:以字母或下劃線開始,之后可以跟字母、數字或下劃線
- 操作符標識符:由一個或多個操作符字符組成,如 +, :, ?, ~, #等
- 混合標識符:由字母數字組成,后面跟著下劃線和一個操作符標識符,如unary_+
- 字面量標識符:用反引號 ‘…’ 包括的任意字符串
-
方法重載
-
隱式轉換
- 隱式轉化將庫變得更靈活、更方便
- 用關鍵字 implicit 定義轉換方法
- 要隱式轉換起作用就必須定義在作用范圍之內
-
告誡
- Scala允許使用者用操作符名稱來創建方法并定義隱式轉換,便于設計出更簡潔和更易理解的庫
- 有了大量的設計這種易于使用庫的能力, 相應的責任也愈發的大了
- 操作符方法通常會使客戶代碼更簡潔,但它只會在客戶程序員能夠識別和記住每個操作符的意思的程度上使程序更易讀