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

 更新时间:2015年02月08日 11:56:52   作者:books1958  
这篇文章主要介绍了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中的slice使用简介(源码分析slice)

    GO中的slice使用简介(源码分析slice)

    slice(切片)是go中常见和强大的类型,这篇文章不是slice使用简介,从源码角度来分析slice的实现,slice的一些迷惑的使用方式,感兴趣的朋友跟随小编一起看看吧
    2023-06-06
  • 深入探究Go语言从反射到元编程的实践与探讨

    深入探究Go语言从反射到元编程的实践与探讨

    反射和元编程是一些高级编程概念,它们使开发者能够在运行时检查、修改并控制程序的行为,了解反射和元编程的工作方式可以帮助我们更好地理解Go,以及如何在需要的时候高效地使用它们,文章中介绍的非常详细,感兴趣的同学可以参考下
    2023-05-05
  • 使用golang写一个redis-cli的方法示例

    使用golang写一个redis-cli的方法示例

    这篇文章主要介绍了使用golang写一个redis-cli的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-10-10
  • golang中for循环遍历channel时需要注意的问题详解

    golang中for循环遍历channel时需要注意的问题详解

    这篇文章主要给大家介绍了关于golang中for循环遍历channel时需要注意的问题的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2018-04-04
  • golang调用shell命令(实时输出,终止)

    golang调用shell命令(实时输出,终止)

    本文主要介绍了golang调用shell命令(实时输出,终止),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • 使用Golang轻松实现JWT身份验证的示例代码

    使用Golang轻松实现JWT身份验证的示例代码

    JSON Web Tokens (JWT)是一种流行的安全方法,用于在两个方之间表示声明,本文主要为大家详细介绍了实现Go应用程序中的JWT身份验证过程,需要的可以参考下
    2024-02-02
  • Go语言map用法实例分析

    Go语言map用法实例分析

    这篇文章主要介绍了Go语言map用法,实例分析了map的功能及使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-02-02
  • Go作用域的理解

    Go作用域的理解

    在Go语言中,作用域是指变量的可见性范围,它定义了变量在程序中的生命周期和可访问性,本文主要介绍了Go作用域的理解,包括局部作用域、全局作用域、命名空间作用域等,感兴趣的可以了解一下
    2023-11-11
  • Go语言中函数的使用方法详解

    Go语言中函数的使用方法详解

    这篇文章主要为大家详细介绍了Go语言中函数的使用方法的相关资料,文中的示例代码讲解详细,对我们学习Go语言有一定的帮助,感兴趣的可以了解一下
    2023-04-04
  • 详解go语言json的使用技巧

    详解go语言json的使用技巧

    这篇文章主要介绍了详解go语言json的使用技巧,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03

最新评论