日日行,不怕千万里;常常做,不怕千万事|

__username

园龄:2年5个月粉丝:12关注:2

📂python
🔖Python
2023-04-26 10:15阅读: 34评论: 0推荐: 0

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 @   __username  阅读(34)  评论(0编辑  收藏  举报

本文作者:DIVMonster

本文链接:https://www.cnblogs.com/guangzan/p/12886111.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起