Проблема хрупкого базового класса является общей для всех систем, поддерживающих наследование. Это означает, что изменения вашего супертипа (класса, от которого вы наследуете) могут дать вам неожиданные результаты: изменения заставят вас нарушить ваши предположения относительно базового класса. См. этот связанный вопрос SO для объяснения и примеров.
В отличие от этого, Scala экспортирует апостериорные добавления в родительские классы во внешние независимые черты, которые вы можете добавить к подтипу с помощью Mixin Composition. Смотрите этот пример и рассматривайте "RichIterator
" как изменение, которое вы хотели бы применить к базе AbsIterator
, как только оно будет определено. Посмотрите, как миксин ничего не меняет в родительском, но все же его легко использовать в подтипе?