何时在 Python 中装饰类而不是使用 Mixin/继承?

问题描述

我了解到您可以通过简单地编写一个装饰类的函数来模拟混合/继承:

def dec(cls):
    def foo(self):
        return self.f
    
    cls.foo = foo
    
    return cls

@dec
class Hello:
    def __init__(self,f,b):
        self.f = f

h = Hello(10,20)

assert h.foo() == 10

这类似于使用混合/通用继承:

class Dec:
    def foo(self):
        return self.f


class Hello(Dec):
    def __init__(self,20)

assert h.foo() == 10

在什么情况下使用这种修饰类方法而不是传统的继承会更好?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)