Rozbudowuję pewien program i powiedzmy, że zasada działania jest identyczna jak poniżej. Mam podobne klasy do tych:
class Animal {
public void doSomething() { }
}
class Dog extends Animal {
@Override
public void doSomething() { }
}
class Cat extends Animal {
@Override
public void doSomething() { }
}
I potem sobie wywołuję metody za pomocą polimorfizmu:
Animal cat = new Cat();
Animal dog = new Dog();
cat.doSomething();
dog.doSomething();
Problem polega na tym, że postępując zgodnie z określonym schematem musiałbym utworzyć jeszcze ponad 300 klas pochodnych i potem wywołać z nich metody. A to jest bardzo masochistyczne podejście. Już na samą myśl o tym coś mnie trafia... Co powinienem zrobić w takim przypadku? Istnieje jakieś lepsze rozwiązanie uwzględniające nawet całkowite przepisanie programu tak żeby wszystko było zrobione tak jak Bóg przykazał? Z góry dzięki wszystkim chętnym za pomoc.