próbuję wdrożyć projekt następująco:iPhone Objective-C foreach projekt
Touch
Klasa: działa jako interfejs, kilka klas dziedziczą z niego:
MoveTouch
klasa
JumpTouch
klasa
InterfaceTouch
klasa
Następnie chcę mieć listę obiektów Touch
. Następnie chcę mieć możliwość usunięcia wszystkich obiektów MoveTouch
TYLKO (nie innych), a następnie wszystkich obiektów JumpTouch
osobno itp. Z tej dużej listy. Niestety, for (MoveTouch* t in touches)
nie robi tego, co chcę; wszystko na całej liście zostaje wykorzystane.
... co oznacza, że można zrobić coś takiego jak wywołanie [t update], a następnie każda pozycja będzie decydować, co zrobić w cyklu aktualizacji. Ale to nie jest uniwersalne. Wiele razy masz wiadomość, którą chcesz wysłać do jednej klasy, a nie do drugiej. –
nie uniwersalny, ale ma tendencję do wąchania, moim zdaniem. Zwłaszcza jeśli zaznaczysz, że sam projektujesz klasy. –
Tak naprawdę nie robię z tym polimorfizmu. Moją podstawową chęcią było oddzielenie różnych rodzajów dotyku. Rodzaj dotyku (ruch, skok, interfejs itp.) Może zostać ustalony natychmiast po jego utworzeniu, co dzieje się w ramach "dotykuBegan". Odtąd znacznie łatwiej jest oddzielić funkcjonalność tego, co dzieje się, gdy PRZESUŃ to dotknięcie lub ZAKOŃCZENIE, które dotyka itp. Myślę, że może dziedziczenie jest trochę na to ochotę? Może po prostu proste wyliczenie zadziała? –