擅长:python、mysql、java
<p>在任意类上,这极不可能工作,而且即使工作也非常脆弱。这基本上与从一个类的方法中提取底层函数对象,并在不是原始类实例的对象上调用它们是一样的。这是否有效取决于内部实现细节,并且是一种非常紧密耦合的形式。</p>
<p>也就是说,将对象的<code>__class__</code>在一组经过特殊设计的类中进行更改,以便以这种方式使用,这是非常好的。我知道你可以这么做很长一段时间,但是我还没有找到一个更好的解决方案没有同时出现在脑海中的技术的用途。所以如果你认为你有一个用例,就去做吧。只需在你的评论/文档中清楚地说明发生了什么。尤其是,这意味着所有相关类的实现都必须尊重它们的不变量/假设等,而不是能够孤立地考虑每个类,所以您需要确保任何处理相关代码的人都知道这一点!</p>