go语言的组合和继承
在One结构体中,有一个字段为m类型是monkey,
在Two结构体中,有一匿名字段monkey,two加了这个等于实现了Animal,对于animal就有了两个实现mokey和One
One ,Two 两个结构体有细微差别,One 是组合,Two就是继承,Animal就有两个实现 monkey 和 Two
代码如下(示例):
type Animal interface {
Run()
}
type monkey struct {
}
func (m monkey) Run() {
fmt.Println("monkey run")
}
// 组合
type One struct {
m monkey
}
// 继承
type Two struct {
monkey
}