メタクラス:Python

「メタクラス:Python」の編集履歴(バックアップ)一覧に戻る
メタクラス: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

復元してよろしいですか?

ツールボックス

下から選んでください:

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