Friday, September 23, 2016

Invoking Superclass Constructor : Example

scala> /****************************************
     |    Invoking Superclass Constructor #228
     | *****************************************/
     | abstract class SubjectInfo(name: String) {
     |   def mark: Int = 35
     |   def date: String = "2016/10/10"
     | }
defined class SubjectInfo

scala>

scala> // This does compile as we need to provide

scala> //   constructor

scala> class Math extends SubjectInfo
<console>:43: error: not enough arguments for constructor SubjectInfo: (name: String)SubjectInfo.
Unspecified value parameter name.
       class Math extends SubjectInfo
                  ^

scala>

scala> // This works...

scala> class Math extends SubjectInfo("math")
defined class Math