1 方法的继承
在go中没有继承的关键字,但是我们可以通过interface这个类型做出继承的效果,看如下代码,Car就继承了Start和Stop这两个方法
import (
"fmt"
)
type Engine interface {
Start()
Stop()
}
type Car struct {
Engine
}
func (this *Car) Start() {
fmt.Println("Car->Start()")
}
func main() {
fmt.Println("Start Main func()")
car := new(Car)
car.Start()
}
2 成员变量的继承
相当与定义Person人这个类,然后定义男人Man继承人的姓名,年龄这个两个成员属性
type Person struct {
Name string
Age int
}
type Man struct {
Person
}
func main() {
man := Man{Person{Name: "xiaoming"}}
fmt.Printf("My Name is %s", man.Name)
}
版权声明:本文为博主原创文章,未经博主允许不得转载。
有疑问加站长微信联系(非本文作者)