Т.е. фактически три, причем расширяемый класс - отвертка - изначально спроектирован под расширение через шаблоны; даже более того - он и существовать-то нерасширенным не может. Тут-то все понятно и ок, вопрос был не в этом. Ну да и черт с ним.Мальчик-Одуванчик wrote: Давайте возьмем два класса Будильник и Чайник. [...]
Отвертка имеет функцию - покрутить.
-------------------------------------------------
А вот если кому вдруг интересно простая проблема по дизайну из реальной жизни. К моему стыду не могу решить ее элегантно. Внутренний голос говорит - чююювааак, это же просто! Но решения не вижу. Не буду в общем виде формулировать, сразу с конкретикой.
Вот есть у нас в Ондроеде такой класс Activity - грубо говоря, один экран с какими-то элементами энторфейса. А есть его сабкласс для экранов на основе ListView - ListActivity. Плюс у нас есть приложение состоящее из, скажем, сотни активностей, честь из них унаследованы от обычной Activity, а часть - от ListActivity. И вдруг в один из дней нам нужно добавить некую хункциональность всем существующим активностям, в данном случае нужно что-то сделать, если в течение какого-то времени юзер не делает никаких телодвижений, пальчиком не водит, кнопочки не давит. Вопрос, как это сделать элегантно? Понятное дело, что я могу сделать два класса MyStrangeActivity & MyStrangeListActivity и наследоваться от них, но эти два класса будут тупеньким копи-пейстом. Можно было бы сделать MyStrange<Activity> & MyStrange<ListActivity> но, во-первых, сигнатура у Activity на 20 экранов, а во-вторых это все равно не будет работать, потому что MyStrange - не потомок Activity. (Сделать его потомком Activity можно, но это уж совсем отвратительно)
Должно же быть простое и элегантное решение....
DISCLAIMER: Если вам не хочется давать бесплатную консультацию, не давайте, просто назовите меня дураком, тем более, что именно им я себя сейчас и ощущаю. С другой стороны, задача хоть и из основной работы, мое решение никто не увидит, за жлегантное решение не похвалит и за копи-пейст не наругает. Т.е. с этической стороной вроде все окей