欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Go语言使用组合的方式实现多继承的方法

程序员文章站 2022-06-17 10:22:05
本文实例讲述了go语言使用组合的方式实现多继承的方法。分享给大家供大家参考。具体实现方法如下: 在大多数面向对象的编程语言中多继承都是不支持的。因为在基于class的体系...

本文实例讲述了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语言程序设计有所帮助。