编程语言
首页 > 编程语言> > CodingLifeDay5:Python:面向对象基础知识Section2

CodingLifeDay5:Python:面向对象基础知识Section2

作者:互联网

目录

1,继承

2,多态


1,继承

# 继承:子类可以继承父类的属性和方法
class child_class(parent_class1, parent_class2):
    def __init__(self, variable1, variable2, variable3):  # 子类通常在构造方法中调用父类的构造方法
        super().__init__(variable1)                       # 第一种调用方法:只有第一个父类可以使用
        parent_class2.__init__(self, variable2)           # 第二种调用方法:所有父类都可以使用
        pass                                              # 处理子类的构造方法中独有的参数:variable3

# 调用方法时的优先级是:child_class > parent_class1 > parent_class2
# super()也可用于调用第一个父类的方法:super().function(variable)。这种调用只能在定义类时使用。

2,多态

# 多态
class Animal():
    def speak(self):
        print("this is animal")

class Cat(Animal):                 # 实现多态第一步:继承父类
    def speak(self):               # 实现多态第二步:重写方法
        print("miao miao")

class Dog(Animal):
    def speak(self):
        print("wang wang")

def speak(animal_name):
    animal_name.speak()

cat = Cat()
dog = Dog()

speak(cat)                         # 由此可以看出多态的优点:①继承实现了同一个父类的不同形态;②重写使得方法调用十分方便
speak(dog)

标签:parent,Python,class,多态,CodingLifeDay5,self,父类,Section2,speak
来源: https://blog.csdn.net/TRXCXS/article/details/119323871