[問題] 請問OO的多型在Python上的意義為何

看板Python作者 (dumb)時間11年前 (2013/11/19 11:41), 編輯推噓3(302)
留言5則, 4人參與, 最新討論串1/2 (看更多)
class super1: def f(self): print('super1') class sub1(super1): def f(self): print('sub1') class sub2(super1): def f(self): print('sub2') list = [sub1(), sub2()] for sub in list: sub.f() 我是以模擬C++ & Java的觀念,用Python寫了一個多型的例子 問題是,即使sub1 & sub2不繼承super1,也會有相同的結果 想請問一下Python的多型範例究竟為何呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.249.105.73

11/19 23:39, , 1F
在 python ,多型相當的自然。 都是呼喚 instance method
11/19 23:39, 1F

11/20 21:27, , 2F
你只是定義了3個class, 有一樣的method,繼承在你的例子
11/20 21:27, 2F

11/20 21:27, , 3F
沒什麼意義。
11/20 21:27, 3F

11/21 01:09, , 4F
你這個用JAVA寫也沒有多型的感覺啊XD
11/21 01:09, 4F

11/21 22:46, , 5F
樓上如果是list<super1>的話多少有一點啦 XD
11/21 22:46, 5F
文章代碼(AID): #1IYqw4xt (Python)
文章代碼(AID): #1IYqw4xt (Python)