override在实现traits中定义的抽象方法时使用关键字是一种好习惯吗?
trait Tooth {
def ache(): Unit
}
class Molar extends Tooth {
override def ache(): Unit = {}
}
Run Code Online (Sandbox Code Playgroud)
在上面的例子中,我理解override关键字是可选的; 但这是可取的吗?我应该选择简洁与安全权衡的哪一方面?
Rap*_*ael 27
override在那里为你做一件事:当删除Tooth.ache但稍后没有实现它时,你将得到编译器错误.特别是,这迫使Tooth(由你自己或其他人编写)的实现Tooth在某种意义上"接近" ,即被弃用的方法消失(或至少被重新考虑).
这可能是也可能不是.
Rex*_*err 15
就个人而言,当我看到
override def whatever()
Run Code Online (Sandbox Code Playgroud)
我想的第一件事是,"我想知道这应该是怎么表现的?"
因为这是一个无用的想法,如果它是一个抽象的方法,我发现它更简洁,更安全,让它关闭.
| 归档时间: |
|
| 查看次数: |
3127 次 |
| 最近记录: |