嗨,据我所知,在Python中变量是无类型的。所以现在我想拥有一个基类
class baseClass:
def x():
print "yay"
和两个子类
class sub1(baseClass):
def x():
print "sub1"
class sub2(baseClass):
def x():
print "sub2"
在其他编程语言中,我可以针对接口进行开发,就像
baseClass c = new sub1()
所以现在我可以将c用作具有sub1功能的baseClass,也许在运行时我可以通过更改它
c = new sub2()
在python中也可能吗?
最佳答案
是。
c = sub1()
c = sub2()
但是没有必要定义基类和定义接口的概念,因为python不是静态类型的。
编辑:
要使用有效的Python重写代码,请执行以下操作:
# This space where baseClass was defined intentionally left blank,
# because it serves no purpose
class Sub1(object):
def x(self):
print "sub1"
class Sub2(object):
def x(self):
print "sub2"
c = Sub1()
c = Sub2()
关于python - Python响应中的有用继承。接口(interface)的替代,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1706167/