這個 create instance,在 OO 的術語叫做 instantiation,相信你知道。
Java 中,要產生一個 class 的 instance,使用 new class_name(param...) 的方式來產生 instance。
Scala 的方式,與 Java 一模一樣,也是 new class_name(param...)。
其中的 param 是參數,表示要傳給 constructor 的參數列。
例:
val s1 = new S() // create 一個 S instance, constructor 沒有參數 val s2 = new S(1, "abc") //// create 一個 S instance, constructor 的參數為 1 與 "abc"Scala 有一點點與 Java 不同的,就是當 constructor 沒有參數時,可以省略小括號。
這個我們可以簡稱為「小括號省略原則」。
「小括號省略原則」,我們在討論 method 呼叫時,也會看到,這是一個相當重要的原則。
例:
val s = new S // 當 S 的 constructor 不需要有參數時,可以省略小括號
對 Java 熟悉的你,相信 instantiation 不會是件困難的事。
沒有留言:
張貼留言