📅  最后修改于: 2023-12-03 14:56:56.588000             🧑  作者: Mango
在Python中,当我们创建一个类时,会默认创建一个初始化方法 __init__()
。这个方法是类实例化时第一个被调用的方法,它用于初始化对象的属性。但有时我们需要在子类中使用父类的初始化方法,这就需要继承父类的 __init__()
方法。
Python中可以通过 super()
函数实现子类继承父类的初始化方法。super()
函数返回的一个代理对象,通过这个代理对象可以调用父类的方法和属性。在子类中调用父类的 __init__()
方法,只需要在子类的 __init__()
方法中调用 super().__init__()
即可。
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
class Employee(Person):
def __init__(self, name, age, emp_id):
super().__init__(name, age)
self.emp_id = emp_id
emp = Employee("Tom", 30, "E001")
print(emp.name)
print(emp.age)
print(emp.emp_id)
运行上述代码,输出结果如下:
Tom
30
E001
代码解释:
Person
定义了 __init__()
方法,用于初始化 name
和 age
属性。Employee
继承了父类的 __init__()
方法,并在自己的 __init__()
方法中增加了 emp_id
属性。__init__()
方法中,通过 super()
函数调用了父类(Person
)的 __init__()
方法,初始化 name
和 age
属性。Employee
类的实例 emp
,并打印了 emp
对象的 name
、age
和 emp_id
属性。在Python中,继承父类 __init__()
方法很简单,只需要在子类的 __init__()
方法中调用 super().__init__()
即可。这样做可以减少重复代码,更好地利用代码。