super().__init__()的例子
时间: 2023-03-14 14:12:47 浏览: 156
super()函数的用法是:在子类中调用父类的方法。例如,假设有一个父类叫做Person,它有一个init方法,然后有一个子类叫做Student,它也有一个init方法。 如果你想在Student的init方法中调用Person的init方法,你可以在Student的init方法中使用super().__init__()来实现。
相关问题
super.__init__
在 Python 中,`super().__init__()` 是用来调用父类的构造函数(`__init__()` 方法)的语法。它通常在子类的构造函数中使用,以确保父类的初始化代码也被执行。
例如,假设有一个父类 `BaseClass` 和一个子类 `SubClass`,子类想要调用父类的构造函数来完成一些初始化工作。可以在子类的构造函数中使用 `super().__init__()` 来实现这个目的,如下所示:
```python
class BaseClass:
def __init__(self):
# 父类的初始化代码
pass
class SubClass(BaseClass):
def __init__(self):
super().__init__() # 调用父类的构造函数
# 子类的初始化代码
pass
```
在上面的例子中,当创建 `SubClass` 的实例时,子类的构造函数会先调用父类的构造函数,然后再执行子类的初始化代码。这样可以确保父类和子类的初始化工作都被正确执行。
class Employee: def __init__(self, name, id, salary): self.__name = name self.__id = id self.__salary = salary def showMessage(self): print("员工信息:") print("姓名:{};id号:{};薪金:{}元;".format(self.__name, self.__id, self.__salary))class SaleManager(Employee): def __init__(self, name, id, salary, salesRevenue, salesProfit): super().__init__(name, id, salary) self.__salesRevenue = salesRevenue self.__salesProfit = salesProfit def showMessage(self): super().showMessage() print("扩展信息:销售收入:{}元,销售利润:{}元。".format(self.__salesRevenue, self.__salesProfit))# 测试代码s = SaleManager("张三", 10001, 10000, 1000000, 100000)print("销售经理信息:")s.showMessage()
这是一段 Python 代码,它展示了一个简单的面向对象编程的例子。其中定义了一个 Employee 类和一个 SaleManager 类,SaleManager 类继承了 Employee 类,并在其基础上添加了两个属性:销售收入和销售利润。同时,SaleManager 类重写了 Employee 类的 showMessage 方法,在显示员工基本信息的同时,还会显示扩展信息。
在测试代码中,我们创建了一个 SaleManager 对象 s,并调用了它的 showMessage 方法,打印出了销售经理的信息,包括基本信息和扩展信息。
阅读全文