您好,据我所知,Python 变量是无类型的。所以现在我想要一个基类
class baseClass:
def x():
print "yay"
和两个子类
class sub1(baseClass):
def x():
print "sub1"
class sub2(baseClass):
def x():
print "sub2"
在其他编程语言中,我可以像这样针对接口(interface)进行开发
baseClass c = new sub1()
所以现在我可以将 c 用作具有 sub1 功能的 baseClass,也许在运行时我可以通过
更改它c = new sub2()
在 python 中也可以吗?
请您参考如下方法:
是的。
c = sub1()
c = sub2()
但是基类和定义接口(interface)的概念是不必要的,因为 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()
