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

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com

RTX 5090要首发 性能要翻倍!三星展示GDDR7显存

三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。

首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。

据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。