知识卡片
接口抽象行为
内容
接口抽象的是“能做什么”,不是“内部是什么”。只要类型实现了接口方法,就能被接口位置接收,这让 Go 的多态更偏组合和能力声明,而不是继承层级。这也是 [[反射运行时自省]] 能够在运行时探测任意类型的基础。
参考来源
- 位置:《Go语言高级开发与实战》第1章《Go语言基础实战》(源文件:_epub-src/GoYu Yan Gao Ji Kai Fa Yu Shi Zhan_split_010.html)
- 结论依据:原文直接说明接口是行为的概括与抽象,并指出实现接口的类型可用于所有接口位置,因此支撑接口以行为实现多态。
- 原始内容:1.7 接口常用技巧 接口(interface)类型是对其他类型行为的概括与抽象。接口是Go语言最重要的特性之一,接口类型可以定义为一组方法,但是这些方法不是必要实现的。 接口本质上是一种类型,确切地说,是指针类型。接口可以实现多态功能。如果一个类型实现了某个接口,则所有使用这个接口的地方都可以支持这种类型的值。接口的定义格式如下。 在Go语言中,接口本身不能创建实例,但是可以指向一个实现了该接口的自定义类型的变量来实