GO 物件導向5 介面的繼承

2021-08-28 00:02:18 字數 1066 閱讀 8720

定義兩個父類介面

//定義動物介面:所有動物都會新陳代謝,都會掛掉

type animal inte***ce

//定義戰士介面,會進攻和防守

type fighter inte***ce

顯式地繼承父類介面

//野獸介面,擁有動物的一切特徵

//野獸介面,擁有戰士的一切特徵

type beast inte***ce

隱式繼承父類介面

type beast inte***ce
實現beast介面

type tiger struct 

/*實現野獸的全部方法才算是野獸*/

func (t *tiger)eat(food string) (**** string)

func (t *tiger)die()

func (t *tiger)attack() (bloodloss int)

func (t *tiger)defend()

func (t *tiger)run()

使用介面例項

func main() 

var animal animal

var fighter fighter

var beast beast

//老虎既是動物,又是鬥士,又是野獸

//用子類實現去給父類介面賦值

animal = tiger

fighter = tiger

beast = tiger

//呼叫父類介面方法

animal.eat("食物")

animal.die()

fighter.attack()

fighter.defend()

beast.run()

}

物件導向系列(四) 介面的特點

介面是一種規範。也是一種能力。只要乙個類繼承了乙個介面,這個類就必須實現這個介面中所有的成員 介面的功能要單一 為了多型。介面不能被例項化。也就是說,介面不能new 不能建立物件 跟抽象類是一樣的,因為建立物件也沒意義。介面中的成員不能加 訪問修飾符 介面中的成員訪問修飾符為public,不能修改。...

物件導向 8 介面與介面的實現

二 介面的作用?三 介面的相關語法 四 介面的向上造型 總結 1 介面的語法 2 什麼情況下用介面?3 介面的好處 本篇文章主要講解介面的語法,什麼情況下用介面?讀者如果發現有什麼理解錯的地方指正一下,我會第一時間來改正並重新學習,謝謝大家 1 是一種資料型別 引用資料型別 2 由inte ce定義...

物件導向16 介面的定義與實現

package com.oop.demo09 inte ce 定義的關鍵字 介面都需要有實現類 public inte ce userservice package com.oop.demo09 public inte ce timeservice package com.oop.demo09 抽象...