Каков наилучший способ, чтобы каждый экземпляр класса знал об одном конкретном экземпляре другого класса? - PullRequest
1 голос
/ 13 июня 2019

Заранее благодарен за вашу помощь, немного любитель и пытающийся сделать мой первый большой проект с использованием ООП.

У меня есть четыре класса.Трем классам всегда нужно знать об одном конкретном экземпляре другого класса.

Я думал, что наследование было решением моей проблемы, но быстро понял, что это не так - я думаю, что агрегация более уместна?Кто-нибудь может дать мне знать, если это самый подходящий способ реализовать это?

class Foo:
    def __init__(self, some_data):
        self.data = some_data

class Bar:
    def __init__(self, foo_instance):
        self.foo = foo_instance

class Fizz:
    def __init__(self, foo_instance):
        self.foo = foo_instance

class Wizz:
    def __init__(self, foo_instance):
        self.foo = foo_instance

foo = Foo("foobar")
bar = Bar(foo)
fizz = Fizz(foo)
wizz = Wizz(foo)

Или я должен определить классы Bar, Fizz и Wizz внутри класса Foo?

1 Ответ

0 голосов
/ 13 июня 2019

Это зависит от того, чего вы хотите достичь.Член указывает, что имеет отношение .Так что Foo имеет Bar или Bar имеет Foo?

Например, Pet имеет владельца (Person) или PersonPet?Все сводится к тому, что вам нужно будет сделать: вы должны знать, кто является владельцем Pet, или вы хотите знать, чем владеет Pet a Person.

...