内部类或嵌套类完全是在另一个类的主体内定义的。 如果使用类创建对象,则可以使用根类内的对象。 一个类可以具有多个内部类,但是通常避免使用内部类。
内部类的例子
我们创建一个具有一个内部类(Head)的类(Human)。创建一个实例,该实例调用内部类中的方法:
#!/usr/bin/env pythonclass Human:def __init__(self):self.name = 'Guido'self.head = self.Head()class Head:def talk(self):return 'talking...'if __name__ == '__main__':guido = Human()print guido.nameprint guido.head.talk()
输出:
Guidotalking...
在上面的程序中,我们有内部类Head(),它具有自己的方法。内部类可以同时具有方法和变量。在此示例中,类Human的构造函数(__init__)创建了一个新的head对象。
多个内部类
您绝不限于内部类的数量,例如,以下代码也可以使用:
#!/usr/bin/env pythonclass Human:def __init__(self):self.name = 'Guido'self.head = self.Head()self.brain = self.Brain()class Head:def talk(self):return 'talking...'class Brain:def think(self):return 'thinking...'if __name__ == '__main__':guido = Human()print(guido.name)print(guido.head.talk())print(guido.brain.think())
通过使用内部类,您可以使代码更加面向对象。 一个对象可以容纳多个子对象。 我们可以使用它们为程序添加更多结构。
