以下是一段使用 Go 语言实现接口为连接点的水平组合示例代码:
package main
import (
"fmt"
)
// 定义接口 A
type A interface {
MethodA() string
}
// 定义接口 B
type B interface {
MethodB() string
}
// 定义实现接口 A 的结构体
type ImplementA struct {}
func (impl *ImplementA) MethodA() string {
return "MethodA"
}
// 定义实现接口 B 的结构体
type ImplementB struct {}
func (impl *ImplementB) MethodB() string {
return "MethodB"
}
// 定义组合接口 C,接口 C 包含接口 A 和接口 B 的方法
type C interface {
A
B
}
// 定义实现组合接口 C 的结构体,结构体内部包含实现接口 A 和 B 的结构体
type ImplementC struct {
a ImplementA
b ImplementB
}
func (impl *ImplementC) MethodA() string {
return impl.a.MethodA()
}
func (impl *ImplementC) MethodB() string {
return impl.b.MethodB()
}
func main() {
// 实例化组合接口 C 的结构体
var c C = &ImplementC{}
// 调用接口 A 的方法
fmt.Println(c.MethodA())
// 调用接口 B 的方法
fmt.Println(c.MethodB())
}
在这个示例中,我们定义了三个接口 A、B 和 C,其中接口 C 是由接口 A 和接口 B 组成的水平组合接口。接着,我们定义了两个结构体 ImplementA 和 ImplementB,分别实现接口 A 和接口 B 的方法。
为了实现组合接口 C,我们定义了一个新的结构体 ImplementC,将 ImplementA 和 ImplementB 包含进来,实现组合接口 C 的方法。
最后,在 main 函数中,我们实例化了 ImplementC,并用定义的 C 接口来调用 ImplementsC 中包含的接口 A 和接口 B 的方法。
这个示例展示了接口为连接点的水平组合的代码实现方式。 通过这种方式,我们可以灵活地组合多个接口,使得代码的构建更加模块化和可维护。