知识卡片

接口实现多态

专业/工作 · 471.b.2.a.4.a.1.d.2.a.3

内容

多态让同一段代码根据具体类型实现采取不同行为;Go 通过接口的隐式实现获得这种能力。发散:Go 的多态重在“会做什么”,而不是“继承自谁”。[[接口隔离匹配逻辑]]的匹配器设计是这个机制的具体案例;与[[嵌入偏向组合]]的组合式扩展相比,接口更强调行为契约而非结构复用。

参考来源

- 位置:《Go语言实战》第5章《Go语言的类型系统》(源文件:_epub-src/OEBPS/Text/part0015.xhtml) - 结论依据:原文围绕“多态是指代码可以根据类型的具体实现采取不同行为”给出定义、机制、流程、对比或限制条件,本卡片据此提炼可迁移的 Go 语言/工程结论,并补充边界或实践启发。 - 原始内容:可以选择使用值接收者声明方法。这样做完全符合接口值调用方法的机制。5.4节会讲解什么是接口值,以及使用接口值调用方法的机制。 5.4 接口 多态是指代码可以根据类型的具体实现采取不同行为的能力。如果一个类型实现了某个接口,所有使用这个接口的地方,都可以支持这种类型的值。标准库里有很好的例子,如 io……