Witam.
W ramach szybkiego wyjaśnienia: mówiąc rodzic/dziecko mam na myśli oczywiście kwestię dziedziczenia
class Dziecko < Rodzic
A teraz o co chodzi: tworzę grę działającą w trybie real-time w czystym Rubym, współpracującą z klientem w przeglądarce, w związku z tym musiałem napisać klasę do obsługi mechanizmu WebSocket.
A więc napisałem to jako zupełnie osobą i samodzielną klasę, która posiada także klasy pomocnicze - oprócz klasy Socket (stanowiącej trzon komunikacji przez socket) istnieje też klasa Client (która trzyma informacje o kliencie, takie jak jego unikalne ID lub aktualny ping, a także posiada funkcje do mierzenia pingu itd.). Klasa Socket zwraca obiekt Client w momencie podłączenia się nowego klienta.
Teraz oddzielnie piszę grę i opieram ją na tym module. W grze istnieje klasa Player, która dziedziczy po Client (każdy gracz jest klientem). Tylko w tym momencie trafiam na pewien problem - od klasy Socket posiadam obiekt klasy Client, który chciałbym rozszerzyć o dodatkowe funkcje związane z konkretnym graczem.
W najprostszym przypadku musiałbym wewnątrz klasy Socket zwracać obiekty klasy Player (dziedziczącej po Client), ale przecież nie będę modyfikował de facto w tym momencie zewnętrznej biblioteki.
Zastanawiałem się w związku z tym, czy istnieje sposób na scalenie pustego obiektu “Player < Client” z działającym już obiektem “Client”.