Re: [問題] 請問OO的多型在Python上的意義為何
※ 引述《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
11/21 01:03, 1F
推
01/01 12:02, , 2F
01/01 12:02, 2F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):