Administrator
发布于 2026-06-17 / 1 阅读
0
0

05-继承

继承

继承:一个类从另外一个类继承它的成员变量和成员方法(不含私有)

语法:

# 单继承
class 类名(父类名):
    类内容体...
    
    
# 多继承 -- tips: 如果父类中有同名方法或属性,先继承的优先级高于之后的
class 类名(父类名1, 父类名2, ...):
    类内容体...    

示例:

class Animal:
    name: None

    def run(self):
        print(f"[动物] {self.name} 跑...")


class Person:
    name: None

    def run(self):
        print(f"[人类] {self.name} 跑...")


class Dog(Animal):
    # 占位语句,用于补充语法完整性
    pass


class Cat(Animal, Person):
    pass


cat = Cat()
cat.name = "西西"
cat.run()  # [动物] 西西 跑...

复写

复写:对父类的成员属性或方法重新定义。

语法:子类中定义同名的成员属性或方法即可。

子类中调用父类成员语法:

# 方式1:
父类名.成员变量
父类名.成员方法(self)

# 方式2:
super().成员变量
super().成员方法()

示例:

class Animal:
    name = "小动物"

    def run(self):
        print(f"[动物] {self.name} 跑...")


class Pig(Animal):
    name = "小猪猪"

    def run(self):
        print("111")
        # 调用父类方式1
        print(f"{Animal.name}")  # 小动物
        Animal.run(self)  # [动物] 小猪猪 跑...
        # 调用父类方式2
        print(f"{super().name}")  # 小动物
        super().run()  # [动物] 小猪猪 跑...
        print("333")


pig = Pig()
pig.run()

评论