华域联盟 Golang Go语言使用组合的方式实现多继承的方法

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

本文实例讲述了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语言使用组合的方式实现多继承的方法

转载请保留出处和原文链接:https://www.cnhackhy.com/109912.htm

本文来自网络,不代表华域联盟立场,转载请注明出处。

作者: sterben

发表回复

联系我们

联系我们

2551209778

在线咨询: QQ交谈

邮箱: [email protected]

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们