Skip to content

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(),观察编译器如何指出未完成的接口实现。

精确规则:语言参考。

Norm 0.25