java - error in attribute extended from trait in scala -


i using scala , have trait attribute "name" extended trait in userclass accessing attribute
when tried declare name in trait this

val name : string 

it gave error in child class child class ha unimplemented member when tried

val name : string = "" 

it worked fine please tell me difference , reason why not working before , why worked after modification

i'm assuming code looks this:

trait hasname {   val name : string }  class person extends hasname 

a trait is, nature, abstract, means allowed have unimplemented methods. in effect, trait declaring this:

all classes extending hasname guaranteed have val name : string instance variable. in variable dependent on actual child class

in case above, code expanded to:

trait hasname {   val name : string = ??? } 

where ??? means particular 'function' unimplemented.

after modification:

trait hasname {   val name : string }  class person extends hasname {val name : string = ""} 

the extending class, person overrides hasname trait's implementation, or in case, lack thereof, own implementation.

alternatively, if do:

trait hasname {   val name : string = "" } 

you adding implementation hasname, every child class will, default, have implementation.


Comments

Popular posts from this blog

javascript - AngularJS custom datepicker directive -

javascript - jQuery date picker - Disable dates after the selection from the first date picker -