Mam już działającą hierarchię i program działa zgodnie z oczekiwaniami. Zasadniczo wyodrębniłem wszystko w klasie bazowej i wszystkich innych podklasach dodając własne metody.Obowiązujący wzór Wzór
abstract Class Base{
}
class A extends Base{
//new methods
}
class B extends Base{
//new methods
}
wszystko wygląda dobrze, dopóki później (eeee ... nowe wymagania) Zdaję sobie sprawę, muszę mieć nową klasę (nazwijmy to klasa C), który rozciąga się zarówno klasy A i B. Teraz w jego java nie można rozszerzyć dwóch klas betonowych.
class C extends A, B{
//new methods
}
Potrzebuję obu metod i zmiennych w klasie A i klasie B, ale nie wiem jak to zrobić? Jakieś wskazówki dotyczące tego, jak to zmienić? Nie jestem tak dobry w projektowaniu, więc pomyślałem o zadaniu go tutaj.
Dzięki
UPDATE to faktycznie JSF Managed Bean którym ja wydobywane wszystko w bazie Managed Bean i wszelkie inne podklasy overriding/dodając własne implementacje na górnej części podstawy udało Bean. Jest tylko nowy wymóg, który został dodany w którym potrzebowałem funkcjonalność obu podklas (A i B) do nowej podklasy (C)
Trudno powiedzieć bez większej ilości szczegółów na temat zajęć, ale wygląda na to, że lepiej poradzić sobie z projektem opartym na komponentach. –
Potrzebujesz metod, ale czy związek "C jest A i B" jest konieczny? Możesz użyć kompozycji, ale Twój post potrzebuje więcej informacji, aby wiedzieć, czy jest to odpowiednie. –
Yeh rozważyć skład i mieć 'C' zawierają wystąpienia' A' i 'B'. –