本文实例讲述了go语言使用组合的方式实现多继承的方法。分享给大家供大家参考。具体实现方法如下:
在大多数面向对象的编程语言中多继承都是不支持的。因为在基于class的体系中,多继承极大地增加了编译器的复杂性。
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
*/
}
希望本文所述对大家的go语言程序设计有所帮助。
如对本文有疑问,
点击进行留言回复!!
相关文章:
-
-
-
Go打包二进制文件的实现
背景众所周知,go语言可打包成目标平台二进制文件是其一大优势,如此go项目在服务器不需要配置go环境和依赖就可跑起来。操作需求:打包部署到centos7笔者打包...
[阅读全文]
-
-
-
-
golang语言编码规范的实现
本规范旨在为日常go项目开发提供一个代码的规范指导,方便团队形成一个统一的代码风格,提高代码的可读性,规范性和统一性。本规范将从命名规范,注释规范,代码风格和 ...
[阅读全文]
-
-
-
-
网友评论