golang 可以多继承吗

互联网 19-12-30

在大多数面向对象的编程语言中多继承都是不支持的。因为在基于class的体系中,多继承极大地增加了编译器的复杂性。

Go语言使用组合的方式实现继承,因此也可以很简单的实现多继承。 (推荐学习:go)

//使用组合的方式实现多继承 type Phone struct{}  func (p *Phone) Call() string { 	return "Ring Ring" }  type Camera struct{}  func (c *Camera) TakeAPicture() string { 	return "Click" }  //多继承 type CameraPhone struct { 	Camera 	Phone }  func structTest0803() { 	cp := new(CameraPhone) 	fmt.Println("Our new CameraPhone exhibits multiple behaviors ...") 	fmt.Println("It exhibits behavior of a Camera: ", cp.TakeAPicture()) 	fmt.Println("It works like a Phone too: ", cp.Call())  	/*Output: 	Our new CameraPhone exhibits multiple behaviors ... 	It exhibits behavior of a Camera:  Click 	It works like a Phone too:  Ring Ring 	*/ }

以上就是golang 可以多继承吗的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: golang
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:golang 管道线程安全吗

相关资讯