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

看板Python作者 (←這人是超級笨蛋)時間10年前 (2013/11/19 20:54), 編輯推噓2(200)
留言2則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《featherlike (dumb)》之銘言: : 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的多型範例究竟為何呢? 我覺得你根本沒搞懂 polymorphism 的概念... 不過以最小幅度改寫你的程式 (並讓其符合 PEP8 與 new-style classes) class Super(object): name = 'super' def f(self): print(self.name) class Sub1(Super): name = 'sub1' class Sub2(Super): name = 'sub2' list = [Sub1(), Sub2()] for sub in list: sub.f() 這樣有比較有感覺一點嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.161.94.175

11/21 01:03, , 1F
話說我還會建議加上__init__... XD 會更有感覺吧
11/21 01:03, 1F

01/01 12:02, , 2F
應該有幫到才是...
01/01 12:02, 2F
文章代碼(AID): #1IYr-Fzk (Python)
文章代碼(AID): #1IYr-Fzk (Python)