我应该使用元类、类装饰器还是重写 __new__ 方法?
这是我的问题。我希望下面的类有一堆属性。我可以像 foo 和 bar 一样把它们全部写出来,或者根据我见过的其他一些例子,看起来我可以使用类装饰器、元…
Ruby 元类的疯狂
我被困住了。我正在尝试动态定义类方法,但无法理解 ruby 元类模型。考虑下面的类: class Example def self.meta; (class << self; self; end); …
如何创建一个新的 Moose 类并在运行时实例化该类的对象?
使用 Moose::Meta::Class->create 创建元类后,如何使用该类作为元类实例化真正的 Moose 类? (我还需要创建元类,因为我还想对其应用一些角色。)…
Groovy MetaClass - 将类别方法添加到适当的元类
我在 Grails 插件中使用了几个类别。例如, class Foo { static foo(ClassA a,Object someArg) { ... } static bar(ClassB b,Object... someArgs) { .…
调用元类基时出错:function() 参数 1 必须是 code,而不是 str
我今天早些时候尝试对 threading.Condition 进行子类化,但没有成功。这是当我尝试子类化 threading.Condition 类时 Python 解释器的输出: >>> impor…
Objective-C运行时如何实例化根元类和其他类描述?
我正在尝试实现一个基本的面向对象的 ANSI C 运行时并使用 Objective-C 作为指导。 它们似乎分为三个部分。类描述、类接口和类实现。为了实例化类接口…
使用元类与多重继承相结合的类型错误
我有两个关于元类和多重继承的问题。第一个是:为什么我会在 Derived 类中得到 TypeError 而在 Derived2 中却没有? class Metaclass(type): pass cla…
Ruby 中 Base 类和 Derived 类的元类之间有什么关系?
在Ruby中,我们可以在单例方法中使用super来调用相应超类的单例方法,如下面的代码所示。 class Base def self.class_method puts "Base class method…
Smalltalk 超类与元类?
我是面向对象编程的新手,但具有“程序”背景。 我目前正在尝试通过 GNU Smalltalk 和 Lovejoy 的“Smalltalk:获取消息”来了解 OOP。 我对元类和元…
class_getClassVariable() 的作用是什么?
我认为,如果实例变量属于类的实例,那么类变量将属于元类的实例。但我使用 Objective-C 元类的经验告诉我,这是不可能的。 我想知道 class_getClassV…
定义元类时是否有理由选择 __new__ 而不是 __init__ ?
我总是设置这样的元类: class SomeMetaClass(type): def __new__(cls, name, bases, dict): #do stuff here 但我刚刚遇到一个定义如下的元类: class…
Python 的内置 __build_class__ 是做什么的?
在Python 3.1中,builtins模块中有一个我不知道的新内置函数: __build_class__(...) __build_class__(func, name, *bases, metaclass=None, **kwds) …