Pythonのメタクラス。 メタクラスを使うと、色々できる。 PythonにはJavaのようなインターフェースはないが、 インターフェースを継承させて、 メソッドがなかったらエラーをだすようなこともできる。 class test(type): def __init__(cls,name,bases,dict): #super(test,cls).__init__(name,bases,dict) print cls print name print bases print dict if dict.has_key("__implements__"): for m in dict["__implements__"].__dict__: if m[0]!="_": print m,dict.has_key(m) class c1: def ok(self): return class interface: __metaclass__=test class inter01(interface): def test(self): print "inter01" class a1(inter01): __implements__=inter01 def test(self): ok pass
下から選んでください: