Go语言实现继承
我们都知道Java中通过extends来实现对象的继承,那么Go中怎么实现继承呢?Go语言没有继承,只有组合。我们知道,继承的目的是什么,是类的重用,那么在Go中组合的目的也是一样,为了类的重用。
type Person struct {
name string
}
func (person *Person) sayHi() {
fmt.Println(person.name + " Hello World.")
}
type Man struct {
Person
}
可以看到,就是把要继承的对象,直接作为自己的属性即可。
那么如何实例化呢?
子类实例化
var man = Man{Person{name: "man_liyang"}}
man.sayHi()