擅长:python、mysql、java
<p>如果只是更改类而不是创建新类,则不需要包装器函数(应该是包装器类):</p>
<pre><code>def Decorator(cls):
clsinit = cls.__init__
cls.members = []
def __init__(self, *args, **kwargs):
clsinit(self, *args, **kwargs)
self.__class__.members.append(self)
cls.__init__ = __init__
return cls
</code></pre>
<p>顺便说一句,您应该创建一个基类并从中继承:</p>
^{pr2}$
<p>干净多了</p>