鱼C论坛

 找回密码
 立即注册
查看: 2627|回复: 0

[学习笔记] 类、继承、绑定、砖石继承-super()

[复制链接]
发表于 2023-2-12 17:39:03 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
# !/usr/bin/python3
# -*- coding: utf-8 -*-
# @Time   : 2023/2/12 17:15
# @Author : xiongming
# @File   : gouzhaohanshu.py
# @Desc   : 构造函数、重写

class C:
    def __init__(self, x, y):
       #self.x 绑定类属性,右边x是传进来的参数
        self.x = x
        self.y = y
    def add(self):
        return self.x + self.y
    def mul(self):
        return self.x * self.y

c = C(2, 3)
c.add()
c.mul()
c.__dict__

# 重写
class D(C):
    def __init__(self, x, y, z):
        C.__init__(self, x, y)
        self.z = z
    def add(self):
        return C.add(self) + self.z
    def mul(self):
        return C.mul(self) + self.z

d = D(2, 3, 4)
d.add()
d.mul()

# 砖石继承 A-B1/B2-C,super()解决重复
# Method\Resolution\Order 方法mro()、解析__mro__、顺序
class A():
    def __init__(self):
        print("哈喽,我是A~")

class B1(A):
    def __init__(self):
        super().__init__()
        print("哈喽,我是B1")

class B2(A):
    def __init__(self):
        super().__init__()
        print("哈喽,我是B2")

class C(B1, B2):
    def __init__(self):
        super().__init__()
        print("哈喽,我是C")

c = C()
C.mro()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-24 07:56

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表