-
Notifications
You must be signed in to change notification settings - Fork 2
/
ConstructorDemo5.scala
33 lines (25 loc) · 884 Bytes
/
ConstructorDemo5.scala
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
package ScalaBasic
// https://www.youtube.com/watch?v=KTSKvRjfUlQ&list=PLmOn9nNkQxJEqCNXBu5ozT_26xwvUbHyE&index=62
object ConstructorDemo5 extends App {
// run 1
val cat2 = new Cat2("WhiteCat")
println(cat2.inName)
// cat2.inName = "lolCat" <-- will have error, since inName is read only var
println("------------------------------")
// run 2
val cat3 = new Cat3("JimCat")
println(cat3.inName)
cat3.inName = "MaryCat" // equals as cat3.inName_$eq("MaryCat")
println(cat3.inName) // equals as cat3.inName()
}
class Cat(inName: String) { // inName is a local var
var name: String = name
println(inName)
}
class Cat2(val inName: String) {
var name: String = inName
}
// plz also ref : https://github.com/yennanliu/utility_Scala/blob/master/src/main/scala/ScalaBasic/BeanPropertyDemo1.scala
class Cat3(var inName: String) {
var name: String = inName
}