你可以将你的特质定义为
trait Storage {
final def write(data: Array[Byte]): Unit =
try writeImpl(data) catch {
case NonFatal(e) => throw new StorageWriteException(e)
}
protected def writeImpl(data: Array[Byte]): Unit
}
Run Code Online (Sandbox Code Playgroud)
然后writeImpl在实现中覆盖而不是write.这是模板方法设计模式的一种情况
| 归档时间: |
|
| 查看次数: |
83 次 |
| 最近记录: |