🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.objects
2 messages
2 total messages Started by chmurek Thu, 19 Oct 2006 08:52
Problemik projektowy
#15654
Author: chmurek
Date: Thu, 19 Oct 2006 08:52
34 lines
2294 bytes
Witam!

Przyszło mi stanąć w szranki z problemem z którym nie jestem w stanie poradzić
sobie sam więc zwracam się z prośbą o pomoc.
Mam następującą hierarchie klas :

Abstrakcyjna klasa base stanowi baze dla wszystkich późniejszych.
Następnie klasy :
IDrawable
ICollidable
oraz IProccesable
które dziedziczą od base.

Z trzech powyższych tworze sobie obiekty z zaznaczeniem że obiekty mogą
dziedziczyć ze wszystkich jak i tylko z jednej klasy.
Nastepnie tworze klase pt. ObjectManager która potrafi przechować oraz usunąć
obiekty. I Tu sie zaczyna problem. Mam bowiem vektor wskaznikow na base oraz
trzy vektory wskaznikow na IDrawable, ICollidable oraz IProccesable.
Rejestrując obiekt w ObjectManagerze wrzucam go najpierw do wektora base'ów a
następnie dynamicznie rzutuje na każdy z pozostałych. Jednak obiekt moze
dziedziczyć na przykład tylko z IDrawable, co sie stanie więc jesli bede
starał sie zapisać taki obiekt do wektora ICollidable ? Jak można to rozwiązać
w inny sposób ?
Kolejna część problemu pojawia się kiedy chce stworzyć kontroler dla tych
trzech dziedziczonych klas. Każdy kontroler dostaje wektor który kontroluje.
Pojawia się jednak sytuacja w której musze usunąć obiekt z wektora. To nie
jest problemem jednak usunięcie obiektu z jednego wektora implikuje
konieczność ewentualnego usunięcia z pozostałych wektorów. 

W związku z tym proszę o pomoc. 


-- 
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
Re: Problemik projektowy
#15655
Author: DarekM
Date: Thu, 19 Oct 2006 16:41
38 lines
2666 bytes
  chmurek napisał(a):
> Witam!
> 
> Przyszło mi stanąć w szranki z problemem z którym nie jestem w stanie poradzić
> sobie sam więc zwracam się z prośbą o pomoc.
> Mam następującą hierarchie klas :
> 
> Abstrakcyjna klasa base stanowi baze dla wszystkich późniejszych.
> Następnie klasy :
> IDrawable
> ICollidable
> oraz IProccesable
> które dziedziczą od base.
> 
> Z trzech powyższych tworze sobie obiekty z zaznaczeniem że obiekty mogą
> dziedziczyć ze wszystkich jak i tylko z jednej klasy.
> Nastepnie tworze klase pt. ObjectManager która potrafi przechować oraz usunąć
> obiekty. I Tu sie zaczyna problem. Mam bowiem vektor wskaznikow na base oraz
> trzy vektory wskaznikow na IDrawable, ICollidable oraz IProccesable.
> Rejestrując obiekt w ObjectManagerze wrzucam go najpierw do wektora base'ów a
> następnie dynamicznie rzutuje na każdy z pozostałych. Jednak obiekt moze
> dziedziczyć na przykład tylko z IDrawable, co sie stanie więc jesli bede
> starał sie zapisać taki obiekt do wektora ICollidable ? Jak można to rozwiązać
> w inny sposób ?
Przypisanie obiektu do wektora powinno skutkować odpowiednią akcją na 
samym obiekcie: sprawdzenie czy obiekt posiada odpowiednie właściwości i 
zapamiętanie gdzie został przypisany. Jeżeli dopisanie niemożliwe rzuć 
wyjątek albo inaczej przekaż tą informację.

> Kolejna część problemu pojawia się kiedy chce stworzyć kontroler dla tych
> trzech dziedziczonych klas. Każdy kontroler dostaje wektor który kontroluje.
> Pojawia się jednak sytuacja w której musze usunąć obiekt z wektora. To nie
> jest problemem jednak usunięcie obiektu z jednego wektora implikuje
> konieczność ewentualnego usunięcia z pozostałych wektorów. 
Jak zapamiętasz do którego obiektu przypisałeś to teraz się wypisz


Darek
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads