🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.objects
Article #15655

Re: Problemik projektowy

#15655
From: 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
Technical Details
Message-ID: <eh89t2$ego$1@node4.news.atman.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.nask.pl!news.nask.org.pl!newsfeed.atman.pl!not-for-mail
References: <eh7ecv$g11$1@inews.gazeta.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.nask.pl!news.nask.org.pl!newsfeed.atman.pl!not-for-mail
From: DarekM <darekm@emadar.com>
Newsgroups: pl.comp.objects
Subject: Re: Problemik projektowy
Date: Thu, 19 Oct 2006 18:41:58 +0200
Organization: ATMAN
Lines: 38
Message-ID: <eh89t2$ego$1@node4.news.atman.pl>
References: <eh7ecv$g11$1@inews.gazeta.pl>
NNTP-Posting-Host: 088156100143.stk.vectranet.pl
Mime-Version: 1.0
X-Trace: node4.news.atman.pl 1161276131 14872 88.156.100.143 (19 Oct 2006 16:42:11 GMT)
X-Complaints-To: usenet@atman.pl
NNTP-Posting-Date: Thu, 19 Oct 2006 16:42:11 +0000 (UTC)
User-Agent: Thunderbird 1.5.0.7 (Windows/20060909)
In-Reply-To: <eh7ecv$g11$1@inews.gazeta.pl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit