Здравствуйте, Ramzes_, Вы писали:
R_>Наследования, специализация, это вопрос терминологии. И термин наследование, имхо, вполне адекватно и понятно отражает данную сущность. А вопрос где оно оправдано, а где нет, достаточно спорный. Кому не нравится, вполне может выбрать другой способ реализации, благо подавляющее большинство задач можно решить не одним, и даже не двумя методами.
Проблема чаще всего заключается в том, что то, что нравится одному разработчику, не нравится другому. Один разработчик предпочитает создавать экземпляры "Вася" и "Петя" класса "Человек", а другой создавать подклассы "Вася" и "Петя" от базового "Человек" (и делать их потом синглтонами). Это идеальный случай когда разработчик сам наступает на свои же грабли -- в этом случае он имеет возможность учиться на своих ошибках и избегать их в последствии. Чаще приходится наступать на чужие грабли. Поэтому "не нравится -- не используй" является сомнительным аргументом.