以下のコードでは、クラスはクラスのインスタンス内の User
関数にアクセスする必要があります。これには、Webサーバー(last.fm)での認証に必要な他の関数が含まれているためです。実際のコードはこちらです。get_user
WebService
class WebService:
def __init__(self, key):
self.apikey = key
def get_user(self, name):
pass # Omitted
class User:
def __init__(self, name, webservice):
self.name = name
self.ws = webservice
def fill_profile(self):
data = self.ws.GetUser(self.name)
# Omitted
問題は、すべての「ユーザー」内に参照を保持する必要があることです。これを行う別の方法はありますか?それとも私だけが物事を複雑にしすぎているのでしょうか、そしてこれが実際に現実の世界でどのように機能するのでしょうか?