Python 内部类
在Python中,定义在另一个类内部的类称为内部类。有时内部类也被称为嵌套类。如果实例化内部类,内部类的对象也可以被父类使用。内部类的对象成为外部类的属性之一。内部类会自动继承外部类的属性,而不需要正式建立继承关系。
语法
class outer:
def __init__(self):
pass
class inner:
def __init__(self):
pass
内部类允许您对类进行分组。嵌套类的一个优点是可以很容易地理解哪些类相关联。内部类具有局部作用域。它作为外部类的一个属性之一。
示例
在以下代码中,我们将student作为外部类,subjects作为内部类。student的__init__()
构造函数初始化name属性和subjects类的一个实例。另一方面,内部subjects类的构造函数初始化了两个实例变量sub1和sub2。
外部类的show()方法调用已实例化的对象的内部类方法。
class student:
def __init__(self):
self.name = "Ashish"
self.subs = self.subjects()
return
def show(self):
print ("Name:", self.name)
self.subs.display()
class subjects:
def __init__(self):
self.sub1 = "Phy"
self.sub2 = "Che"
return
def display(self):
print ("Subjects:",self.sub1, self.sub2)
s1 = student()
s1.show()
当您执行此代码时,它将产生以下输出:
输出
Name: Ashish
Subjects: Phy Che
完全有可能独立地声明一个外部类的对象,并使其调用自己的display()方法。
sub = student().subjects().display()
它将列出科目。