比如说 我现在有三个struct 人1 人2 人3
它们都继承了一个父struct 人 里面的两个方法 唱歌() 跳舞()
然后它们各自实现了一个方法 吃饭() 它们的这个方法是同名但是内容不同的
现在我想写一个方法叫 生活() 它调用了上面的三个方法 调的方法是一样的 有没有办法只写一遍这个方法 不用每个人重复写一遍 在不违背dry原则的情况下给这三个人加这个方法
逻辑很乱 应该将父struct才成一个接口就好。
**golang没有继承**
一种我感觉要的实现
```golang
type (
A interface {
唱歌()
跳舞()
}
B struct {
A
}
)
func (b *B) 生活() {
b.A.唱歌()
b.A.跳舞()
}
```
#6
更多评论
golang所谓的继承的本质是聚合,所以并没有你所说的什么父类子类(私以为确切说叫外部类对象与内部类对象更为合适)的概念,也不存在虚函数重写的语法。很遗憾,你说的做不到。
#2