Go 物件導向 五) 多型

2021-10-20 12:40:58 字數 1381 閱讀 9989

介面:只有方法的定義,沒有實現——全部是抽象方法

實現介面:結構體實現介面的全部抽象方法,稱為結構體實現了介面

多型:乙個父類/介面有不同的子類實現,本例中【勞動者介面】的具體實現有

【程式設計師】、【產品經理】、【老闆】

共性:【程式設計師】、【產品經理】、【老闆】都會勞動和休息

個性:【程式設計師】、【產品經理】、【老闆】的勞動方式和休息方式

各不相同

*/type worker inte***ce

type coder struct

func

(w *coder)

work

(hour int

)(product string

)func

(w *coder)

rest()

func

(w *coder)

workhome()

type productmanager struct

func

(w *productmanager)

work

(hour int

)(product string

)func

(w *productmanager)

rest()

type boss struct

func

(w *boss)

work

(hour int

)(product string

)func

(w *boss)

rest()

func

main()

) workers =

(workers,

&productmanager

) workers =

(workers,

&boss

)//r := rand.new(rand.newsource(time.now().unixnano()))

//weekday := r.intn(7)

weekday :=

6 fmt.

printf

("今天是星期%d\n"

物件導向(五) 類的多型

繼承的好處是乙個指向子類的指標與乙個指向基類的指標是型別相容的 type compatible 繼承的好處是乙個指向子類的指標與乙個指向基類的指標是type compatible的,如以下 所示 include using namespace std class cfather class c pu...

Java基礎 物件導向(五)多型

一 概述 物件的多型性 class 動物 class 貓 extends 動物 class 狗 extends 動物 class demo 貓這類食物既具備貓的形態,又具備動物的形態。這就是多型性。簡單說 就是乙個物件對應著不同型別 提高了 的擴充套件性,前期定義的 可以使用後期的內容。abstra...

GO 物件導向 多型之型別斷言

在物件導向 多型這一節最後沒有進行型別斷言,也就是型別判斷。那麼在這篇文章中就簡單的介紹一下 在進行型別斷言會有倆種方式 switch是使用型別來判斷 也就是s.type if判斷是把指標跟定義的值判斷 package main import fmt 定義工人介面 type worker1 inte...