mam klasy A, z abstrakcyjnej metody doAction (klasy bazowej obj) spodziewa się param typu klasy bazowejPrzechodząc Klasa pochodna sposobu, który musi zastąpić oczekując klasy bazowej
public class A {
//....
abstract void doAction(BaseClass obj);
//....
}
Teraz mam inny klasa B, która musi przedłużyć A. Jednakże metoda doAction B wymaga użycia obiektu DerivedClass, który rozszerza BaseClass.
public class B extends class A {
//..
void doAction(DerivedClass obj) {
obj.callMethodAvailableOnlyInDerivedClass();
}
}
jaki sposób obsłużyć tę sytuację, gdy trzeba przekazać param typu DerivedClass metody mają być nadpisane, gdy jest on spodziewa się klasy bazowej?
Dzięki!
+1 dla zasady Liskov. Pierwszy raz słyszę o tym, dzięki! – GETah
A jeśli masz kilka takich metod działających na różne obiekty ?! –