![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 1 Dołączył: 20.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
Mam zależność tego typu:
ale do tego mam zależność:
Od jakiegoś czasu główkuję jak to rozwiązać, ale nic sensownego nie przychodzi mi do głowy. Ten post edytował Kedan 11.05.2009, 11:29:35 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 6 Dołączył: 11.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
Przeczytajcie sobie wszyscy najlepiej jakąś książkę o wzorcach projektowych. Dziedziczenie jest dobre ale nie we wszystkim, a właściwie to większość osób je nadużywa często.
Przykład gry szachy. 1. Sposób: Można zrobić sobie klasę ruch i każda figura, pionek po niej dziedziczy. W zależności od typu figury/pionka oraz ruchu jaki się chce wykonać metoda mogePrzejsc zwraca true, false. 2. Sposób: Można tez zaprojektować interface Ruch, dla każdego pionka/figury tworzymy odpowiednie klasy implementujace Ruch. Każdy pionek/figura posiada zmienna obiektowa mogePrzejsc (domyślnie interface Ruch), do której sobie przypisujemy odpowiednia klasę w zależności od rodzaju figury. Mam nadzieje że każdy zrozumie ten przykład. Teraz powiedzcie mi proszę co jest łatwiej rozbudować o nowe ruchy ? Zaleta 2 sposobu ? Dodajemy nową funkcjonalność bez zmiany starej, etc, etc.. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 9.10.2025 - 23:23 |