RosettaCodeData/Task/Call-an-object-method/Scala/call-an-object-method.scala

25 lines
813 B
Scala

/* This class implicitly includes a constructor which accepts an Int and
* creates "val variable1: Int" with that value.
*/
class MyClass(val memberVal: Int) { // Acts like a getter, getter automatically generated.
var variable2 = "asdf" // Another instance variable; a public mutable this time
def this() = this(0) // An auxilliary constructor that instantiates with a default value
}
object HelloObject {
val s = "Hello" // Not private, so getter auto-generated
}
/** Demonstrate use of our example class.
*/
object Call_an_object_method extends App {
val s = "Hello"
val m = new MyClass
val n = new MyClass(3)
assert(HelloObject.s == "Hello") // "Hello" by object getterHelloObject
assert(m.memberVal == 0)
assert(n.memberVal == 3)
println("Successfully completed without error.")
}