Чтобы лучше понять ваши классовые отношения, вы должны рассказать нам больше о вашем проекте и о том, что вы пытаетесь достичь.
Один из способов ссылки на экземпляр из FieldClass
из PlayerClass
в вашем примере - передать экземпляр GameClass
в PlayerClass
:
class PlayerClass:
def __init__(self, game):
self.game = game
def DoMagicHere(self):
self.game.Field.AnswerAQuestion()
# ...
class GameClass:
def __init__( self ):
self.Field = FieldClass()
self.Player = PlayerClass(self)
Другой способ - передать переменную field
.
class PlayerClass:
def __init__(self, field):
self.field = field
def DoMagicHere(self):
self.field.AnswerAQuestion()
# ...
class GameClass:
def __init__( self ):
self.Field = FieldClass()
self.Player = PlayerClass(self.Field)
В качестве примечания: вы используете особую схему именования. Я предлагаю это:
class Game:
def __init__(self):
self.field = Field()
self.player = Player(...)
Я предлагаю вам прочитать Руководство по стилю Python , прежде чем приобретать вредные привычки.