-1

私のクラスに、他の何かにマップした変数がある場合。クラスが3Dノードなどのソフトウェアパッケージでオブジェクトをラップしているように見えます。

クラス内の変数が変更された場合、その単純な属性の変更は、3Dノードでその属性を設定する関数を実行したいと思います。myClass.translateXと同様に、このattrを変更すると、3dノードのtranslateXを更新する関数が実行されます。

それが理にかなっていることを願って、私のグーグルfooは失敗したので、多分私は正しい用語を使用していません。

4

1 に答える 1

1

私はあなたが欲しいと思いますproperty。これにより、クラスのインスタンスへの属性アクセスを関数呼び出しにマップできます。これを使用して、3Dオブジェクトに対して必要な操作を実行できます。

class My3dNodeWrapper(object):
    def __init__(self):
        self.node = Some3dNodeThing()

    @property
    def translateX(self):
        return self.node.getXTranslation() # or whatever

    @translateX.setter
    def translateX(self, value):
        self.node.setXTranslation(value) # or whatever
于 2013-02-09T14:07:22.010 に答える