Go語(yǔ)言使用組合的方式實(shí)現(xiàn)多繼承的方法
本文實(shí)例講述了Go語(yǔ)言使用組合的方式實(shí)現(xiàn)多繼承的方法。分享給大家供大家參考。具體實(shí)現(xiàn)方法如下:
在大多數(shù)面向?qū)ο蟮木幊陶Z(yǔ)言中多繼承都是不支持的。因?yàn)樵诨赾lass的體系中,多繼承極大地增加了編譯器的復(fù)雜性。
Go語(yǔ)言使用組合的方式實(shí)現(xiàn)繼承,因此也可以很簡(jiǎn)單的實(shí)現(xiàn)多繼承。
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
*/
}
希望本文所述對(duì)大家的Go語(yǔ)言程序設(shè)計(jì)有所幫助。
- Golang正整數(shù)指定規(guī)則排序算法問(wèn)題分析
- Golang最大遞減數(shù)算法問(wèn)題分析
- Go語(yǔ)言展現(xiàn)快速排序算法全過(guò)程的思路及代碼示例
- 深入解析快速排序算法的原理及其Go語(yǔ)言版實(shí)現(xiàn)
- GO語(yǔ)言利用K近鄰算法實(shí)現(xiàn)小說(shuō)鑒黃
- Go語(yǔ)言實(shí)現(xiàn)漢諾塔算法
- Go語(yǔ)言通過(guò)Luhn算法驗(yàn)證信用卡卡號(hào)是否有效的方法
- go語(yǔ)言睡眠排序算法實(shí)例分析
- Go語(yǔ)言實(shí)現(xiàn)AzDG可逆加密算法實(shí)例
- Go語(yǔ)言實(shí)現(xiàn)的樹(shù)形結(jié)構(gòu)數(shù)據(jù)比較算法實(shí)例
- Go語(yǔ)言算法之尋找數(shù)組第二大元素的方法
- Golang排列組合算法問(wèn)題之全排列實(shí)現(xiàn)方法
相關(guān)文章
GO中的slice使用簡(jiǎn)介(源碼分析slice)
slice(切片)是go中常見(jiàn)和強(qiáng)大的類(lèi)型,這篇文章不是slice使用簡(jiǎn)介,從源碼角度來(lái)分析slice的實(shí)現(xiàn),slice的一些迷惑的使用方式,感興趣的朋友跟隨小編一起看看吧2023-06-06深入探究Go語(yǔ)言從反射到元編程的實(shí)踐與探討
反射和元編程是一些高級(jí)編程概念,它們使開(kāi)發(fā)者能夠在運(yùn)行時(shí)檢查、修改并控制程序的行為,了解反射和元編程的工作方式可以幫助我們更好地理解Go,以及如何在需要的時(shí)候高效地使用它們,文章中介紹的非常詳細(xì),感興趣的同學(xué)可以參考下2023-05-05使用golang寫(xiě)一個(gè)redis-cli的方法示例
這篇文章主要介紹了使用golang寫(xiě)一個(gè)redis-cli的方法示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-10-10golang中for循環(huán)遍歷channel時(shí)需要注意的問(wèn)題詳解
這篇文章主要給大家介紹了關(guān)于golang中for循環(huán)遍歷channel時(shí)需要注意的問(wèn)題的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2018-04-04golang調(diào)用shell命令(實(shí)時(shí)輸出,終止)
本文主要介紹了golang調(diào)用shell命令(實(shí)時(shí)輸出,終止),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02使用Golang輕松實(shí)現(xiàn)JWT身份驗(yàn)證的示例代碼
JSON Web Tokens (JWT)是一種流行的安全方法,用于在兩個(gè)方之間表示聲明,本文主要為大家詳細(xì)介紹了實(shí)現(xiàn)Go應(yīng)用程序中的JWT身份驗(yàn)證過(guò)程,需要的可以參考下2024-02-02