作者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
1F:推 jlhc:话说我还会建议加上__init__... XD 会更有感觉吧 11/21 01:03
2F:推 y3:应该有帮到才是... 01/01 12:02