📅  最后修改于: 2023-12-03 15:34:27.703000             🧑  作者: Mango
在Python中,类可以包含其他类,这样的类称为内部类。 内部类与外部类有相同的访问权限,可以访问外部类的所有成员,包括私有成员。
在内部类中,我们也可以使用继承来继承其他类的属性和方法。
定义内部类的语法与定义外部类的语法类似。在一个类的代码块内,我们可以定义一个新的类。下例定义了外部类Outer
和内部类Inner
:
class Outer:
def __init__(self):
print("Outer class object created")
def outer_method(self):
print("Outer method")
class Inner:
def __init__(self):
print("Inner class object created")
def inner_method(self):
print("Inner method")
在上面的代码中,我们为Outer
类定义了一个内部类Inner
。我们可以像下面这样使用Inner
类:
outerObj = Outer() # 创建外部类对象
innerObj = outerObj.Inner() # 创建内部类对象
innerObj.inner_method() # 调用内部类方法
内部类同样可以继承其他类。在内部类的定义中指定基类即可。
class Base:
def __init__(self):
print("Base class object created")
class Derived(Outer.Inner, Base):
def __init__(self):
Outer.Inner.__init__(self)
Base.__init__(self)
print("Derived class object created")
在上面的代码中,我们定义了两个基类Outer.Inner
和Base
,并将它们传递给派生类Derived
。我们可以像下面这样使用派生类:
derivedObj = Derived() # 创建派生类对象
derivedObj.inner_method() # 调用内部类方法
Python内部类中的继承功能可以使我们更加灵活地组织类结构,而且语法简单易懂,容易理解。通过合理的使用,我们可以编写出更加易于维护和扩展的代码。