Skip to main content
 首页 » 编程设计

python之Python 中的有用继承。接口(interface)的替代方案

2025年05月04日11zdz8207

您好,据我所知,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()