子类调用父类的方法

发布时间:2024年01月13日

在Python中,super()是一个内置函数,用于调用父类的方法。在面向对象编程的上下文中,它允许您调用父类的方法或构造函数,从而访问其功能。通常,在子类的构造函数(__init__方法)中使用super()函数来初始化父类的属性

简单的例子:有一个基类Animal和一个派生类Dog。Animal有一个属性species,而Dog在初始化时通过super().__init__调用父类的构造函数来设置species属性。

class Animal:
    def __init__(self, species):
        self.species = species

class Dog(Animal):
    def __init__(self, breed, color):
        # 调用父类的构造函数
        super(Dog, self).__init__('Canine')
        # 设置子类特有的属性
        self.breed = breed
        self.color = color

# 创建一个Dog实例
my_dog = Dog(breed='Labrador', color='Golden')

# 打印输出
print("Dog Instance:")
print("Species:", my_dog.species)  # 从父类继承的属性
print("Breed:", my_dog.breed)      # 子类特有的属性
print("Color:", my_dog.color)      # 子类特有的属性
Dog Instance:
Species: Canine
Breed: Labrador
Color: Golden

在这个例子中:

Animal类有一个__init__构造函数,负责设置species属性。

Dog类是Animal的子类,通过super(Dog, self).__init__('Canine')调用了父类的构造函数,确保在初始化Dog实例时,species属性也被设置为'Canine'。

Dog类还有自己的两个属性breed和color,这些属性在Dog类的构造函数中进行设置。

可以看到super()的作用是在派生类中调用父类的构造函数,以确保子类在初始化时可以继承父类的一些属性和行为。

文章来源:https://blog.csdn.net/weixin_51659315/article/details/135491211
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。