python单继承,与 多继承

单继承

当在Python中定义一个类时,可以使用继承来从一个现有的类派生出一个新类。继承允许子类继承父类的属性和方法,并且可以在子类中添加新的属性和方法,或者修改继承的属性和方法。

下面是一个简单的示例代码,展示了如何在Python中使用继承:

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

    def sound(self):
        print("Animal makes a sound.")


class Dog(Animal):
    def __init__(self, name, breed):
        super().__init__(name)
        self.breed = breed

    def sound(self):
        print("Dog barks.")


class Cat(Animal):
    def __init__(self, name, color):
        super().__init__(name)
        self.color = color

    def sound(self):
        print("Cat meows.")


# 创建Animal类的实例
animal = Animal("Generic Animal")
print(animal.name)
animal.sound()

# 创建Dog类的实例
dog = Dog("Buddy", "Labrador")
print(dog.name)
print(dog.breed)
dog.sound()

# 创建Cat类的实例
cat = Cat("Whiskers", "Gray")
print(cat.name)
print(cat.color)
cat.sound()

在上面的代码中,我们定义了一个基类 Animal,它有一个 name 属性和一个 sound() 方法。然后我们定义了两个子类 DogCat,它们分别继承自 Animal。子类可以通过调用 super().__init__() 来调用父类的构造函数,并使用 super() 来访问父类的属性和方法。

每个子类都可以重写父类的方法,以实现自己特定的行为。在上面的代码中,DogCat 类分别重写了 sound() 方法,以便狗发出吠声,猫发出喵声。

通过运行上述代码,你将看到以下输出:

Generic Animal
Animal makes a sound.
Buddy
Labrador
Dog barks.
Whiskers
Gray
Cat meows.

多继承

顺序,初始化从右往左

class Human(object):
    ...

class Father(Human):
    def __init__(self):
        super().__init__()
        self.test1 = "父亲"

class Mother(Human):
    def __init__(self):
        super().__init__()
        self.test1 = "母亲"

class Child(Father, Mother):
    def __init__(self):
        super().__init__()
        print(self.test1)

c = Child()

output

父亲
posted @ 2023-04-26 10:15  __username  阅读(49)  评论(0)    收藏  举报