メタクラス:Python

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


タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2006年03月21日 09:12
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。