43 实现接口
implements Named 承诺提供匹配的 name() 方法。value 与 class 都能实现接口,调用方只依赖 Named。
norm
interface Named {
String name()
}
value TaskId implements Named {
Integer number
String name() { return "task-${number}" }
}
String show(Named item) { return item.name() }
main() {
TaskId id = TaskId(number: 7)
printLine(show(item: id))
}预期输出:
text
task-7动手试试:删去 name(),观察编译器如何指出未完成的接口实现。
精确规则:语言参考。