【发布时间】:2020-03-05 21:19:01
【问题描述】:
我正在研究一个包的源代码,并注意到类能够调用类中未定义的某些方法。
例如:
inst = ClassA()
meth = inst.meth1()
"some stuff printing to console"
但是,meth1() 未在 ClassA 中定义。在 ClassA 定义中,有一个输入引用了另一个类:
from package.sub.file import ClassB
class ClassA(ClassB):
...normal class stuff...
来自另一个文件:
class ClassB:
...normal class stuff...
def meth1(self):
...stuff...
我的主要问题是这怎么可能? meth1 如何成为ClassA 的方法?我很困惑为什么将ClassB 作为输入传递会将与ClassB 关联的所有方法转移到ClassA
【问题讨论】:
-
这叫做继承。
-
是的,继承是基于类的 OOP 的一个主要特性。
标签: python python-3.x