我是编程新手,所以,如果我问的问题看起来很傻的话,我很抱歉。我知道我不能在一个类中有两个init方法,因为函数重载。但是,为什么当初始化一个子类时,我可以定义一个新的init方法,并使用超级().init方法或子类init方法中的父类init方法。我只是对2init的概念有点困惑方法在同一时间运作。我已经被困在这一段时间,请帮助
class Employee:
emps = 0
def __init__(self,name,age,pay):
self.name = name
self.age = age
self.pay = pay
class Developer(Employee):
def __init__(self,name,age,pay,level):
Employee.__init__(self,name,age,pay)
self.level = level
2条答案
按热度按时间fcipmucu1#
“init”是python类中的一个保留方法。在面向对象的术语中称为构造函数。调用此方法时,允许类初始化类的属性。
超级()函数允许我们避免显式地使用基类名称。()函数是动态调用的,这与其他语言不同,因为它是动态语言。()函数返回一个代表父类的对象。在子类中,父类可以使用超()函数。它返回一个超类的临时对象,这允许其子类访问其所有方法。使用超类()关键字,我们不需要指定父类名就可以访问它的方法。
查看更多
wh6knrhe2#
super()
函数给予访问父类或同级类的方法和属性checkout :https://www.geeksforgeeks.org/python-super/