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语言如何使用组合的方式如何实现多继承的方法到此结束。人生要有几个朋友:一个是年少受欺负时,帮你出头的;一个是落魄时,愿意借钱给你的;一个是失意时,愿意陪着你的;一个是落寞时,在事业上帮忙你的;一个是住院时,亲自来探望你的;一个是你走完时,愿意参加你葬礼的。最重要的一个是,喜欢真诚的你的自我。小编再次感谢大家对我们的支持!