When to useval or def in Scala traits?

后端 未结 3 744
你的背包
你的背包 2020-11-27 13:03

I was going through the effective scala slides and it mentions on slide 10 to never use val in a trait for abstract members and use def

3条回答
  •  情歌与酒
    2020-11-27 13:40

    Always using def seems a bit awkward since something like this won't work:

    trait Entity { def id:Int}
    
    object Table { 
      def create(e:Entity) = {e.id = 1 }  
    }
    

    You will get the following error:

    error: value id_= is not a member of Entity
    

提交回复
热议问题