亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

怎么知道Dog和Cat就實現了Behavior接口呢?

這樣寫的確是實現了多態,但Dog和Cat并沒有顯式實現Behavior這個接口,而編譯器就已經將其做了關聯。為什么不需要像Java一樣的implements 顯式實現接口?


func?main()?{
???dog?:=?Dog{Name:?"wangwang",?Age:?2}
???cat?:=?Cat{Name:?"mimi",?Age:?2}
???fmt.Println(dog.Eat())
???fmt.Println(dog.Run())
???fmt.Println(cat.Eat())
???fmt.Println(cat.Run())
}

type?Animal?struct?{
???Kind?string
}

type?Cat?struct?{
???Animal
???Name?string
???Age?int
}

func?(cat?*Cat)?Eat()?string?{
???return?"cat:?eat"
}

func?(cat?*Cat)?Run()?string?{
???return?"cat:?run"
}

type?Dog?struct?{
???Animal
???Name?string
???Age?int
}

func?(dog?*Dog)?Eat()?string?{
???return?"dog:?eat"
}

func?(cat?*Dog)?Run()?string?{
???return?"dog:?run"
}


type?Behavior?interface?{
???Eat()?string
???Run()?string
}


正在回答

1 回答

點擊一下接口方法 能跳過去 就說明實現了唄

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

怎么知道Dog和Cat就實現了Behavior接口呢?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號