作者uranusjr (←這人是超級笨蛋)
看板Python
標題Re: [問題] 請問OO的多型在Python上的意義為何
時間Tue Nov 19 20:54:36 2013
※ 引述《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
推 jlhc:話說我還會建議加上__init__... XD 會更有感覺吧 11/21 01:03
推 y3:應該有幫到才是... 01/01 12:02