Scala物件導向徹底精通及Spark原始碼閱讀

2021-07-10 08:27:05 字數 851 閱讀 2747

不傳引數可以不加括號

getter setter

自定義

class

person

}val rocky = new person

rocky.name

rocky.name = "spark"

//setter 呼叫 name_

在scala中,如果程式中給變數或方法前面定義了private,那麼scala會給這個變數或方法自動生成private的get和set方法,

如果程式中沒有給變數或方法前面定義了private,那麼scala會給這個變數或方法自動生成public的get和set方法。

private[this]

物件私有,只能這個物件訪問,其他物件無法呼叫

class

person

def talk(p: person) =

}p1.talk(p2) //erro 沒有訪問許可權

構造器

過載上一級

預設構造器

class

person

defthis(name: string)

defthis(name: string, age: int)

}

object

伴生物件

定義完類之後,一般會定義乙個同名的object,它用於存放靜態的成員或者方法,當我們第一次呼叫這個伴生物件時,它會執行object的構造方法,只是這個構造方法是不接受引數的

靜態方法 構造器只呼叫一次

同一檔案定義

trait

trait:特質 存放工具方法

Scala物件導向二

1.抽象類 在scala 中,使用 abstract 修飾的類稱為抽象類,在抽象類中可以定義屬性 未實現的方法和具體實現的方法 abstract class animal 2.繼承 繼承是物件導向的概念,用於 的可重用性,被擴充套件的類稱為超類或父類,擴充套件的類稱為派生類或子類,scala 可以通...

SCALA物件導向程式設計(二)

五 隱式轉換和隱式函式 5.1隱式轉換 implicit def a d double d.toint 先宣告隱式函式,宣告後就不用管,程式過不去,會自動查詢。val i1 int 3.5 ok 當發現程式有誤時,scala編譯器會嘗試在隱式函式列表中查詢可以進行轉換的函式 注意 5.2利用隱式轉換...

scala的物件導向程式設計

一 簡單的程式設計 1.scala的簡單程式設計 1 packageer2 3class people 9 def watchfootball teamname string string 12 13object two 22 2.效果 3.構造方法 主構造方法,輔助構造方法。輔助建構函式是在主建構...