【Python】继承与重写

一、单继承

# 单继承
class Shape:
    def draw(self, content):
        print("", content)

class Form(Shape):
    def area(self, var):
        # ....
        print(f"此图形的面积为...{var}")

form = Form()
form.draw('')
form.area(18)

 

二、多层继承

# 多层继承
class Animal:
    def eat(self):
        print("-----吃-----")

    def drink(self):
        print("-----喝-----")

class Dog(Animal):
    def bark(self):
        print("-----汪汪叫------")

class XTQ(Dog):
    """定义了一个哮天犬 类"""
    pass

xtq = XTQ()
xtq.eat()
xtq.drink()

 

三、多重继承

# 定义一个父类A
class A:
    def printA(self):
        print('----A----')

    def test(self):
        print('----Atest----')

# 定义一个父类B
class B:
    def printB(self):
        print('----B----')

    def test(self):
        print('----Btest----')

# 定义一个子类C,继承自A、B
class C(A, B):
    def printC(self):
        print('----C----')

    def test(self):
        super().test()

obj_C = C()
obj_C.printA()
obj_C.printB()
obj_C.printC()
obj_C.test()
print(C.__bases__)

 

四、重写父类方法

# 重写父类方法
class Animal:  # 父类
    def eat(self):
        print("-----吃-----")

    def drink(self):
        print("-----喝-----")

class Dog(Animal):
    def bark(self):
        print("-----汪汪叫------")

class XTQ(Dog):  # 重写Dog方法
    """定义了一个哮天犬 类"""
    def bark(self):
        print("----嗷嗷叫-----")

xtq = XTQ()
xtq.eat()
xtq.bark()

 

posted @ 2022-09-19 16:19  键上一指禅  阅读(69)  评论(0)    收藏  举报