def getter(self, name: str, rename: Optional[str] = None) -> 'ProxyAttr':
        """
        为类设置代理 getattr
        """
        if rename is None:
            rename = name
        if self.reuse_handle(name, rename, self._getter):
            return self

        def proxy_get(this: Any) -> None:
            """
            代理 getattr
            """
            proxy_target = getattr(this, self._target)
            return getattr(proxy_target, name)

        if name in self._setter:
            func = self._func_map[name]
            func = func.getter(proxy_get)
        else:
            func = property(proxy_get)
            self._func_map[name] = func
        setattr(self._proto, rename, func)
        self._getter[name] = {rename}
        return self