RosettaCodeData/Task/Classes/Scala/classes.scala

25 lines
772 B
Scala
Raw Permalink Normal View History

2014-04-02 16:56:35 +00:00
/** This class implicitly includes a constructor which accepts an Int and
* creates "val variable1: Int" with that value.
2013-04-09 00:46:50 -07:00
*/
2014-04-02 16:56:35 +00:00
class MyClass(val myMethod: Int) { // Acts like a getter, getter automatically generated.
var variable2 = "asdf" // Another instance variable; a public var this time
def this() = this(0) // An auxilliary constructor that instantiates with a default value
2013-04-09 00:46:50 -07:00
}
2014-04-02 16:56:35 +00:00
object HelloObject {
val s = "Hello" // Not private, so getter auto-generated
}
/** Demonstrate use of our example class.
2013-04-09 00:46:50 -07:00
*/
2014-04-02 16:56:35 +00:00
object Call_an_object_method extends App {
val s = "Hello"
val m = new MyClass()
val n = new MyClass(3)
println(HelloObject.s) // prints "Hello" by object getterHelloObject
println(m.myMethod) // prints 0
println(n.myMethod) // prints 3
2013-04-09 00:46:50 -07:00
}