package uiimport observer._//with关键字类似java的implements关键字,但是和java不同的是在声明多个traits时每个traits都要有属于自己的withclass observablebutton(name: string) extends button(name) with subject { override def click() = {//因为click()是覆盖父类button的方法,这里不许使用override super.click() notifyobservers }}//if you don’t use extends for the first trait, e.g., you write the following:// error:class observablebutton(name: string) with button(name) with subject {...}<div class="quote_title">引用
本文介绍Scala中特质(trait)的使用方法,并通过ObservableButton类的具体实现来展示如何结合特质实现观察者模式。该实现中,ObservableButton继承了Button类并实现了Subject特质,同时覆盖了点击方法。

被折叠的 条评论
为什么被折叠?



