Здравствуйте, Sinclair, Вы писали:
T>>Берем наследование прямоугольника от квадрата на примере иммутабельного списка. Новый класс внезапно добавляет методом Add не один, а два элемента. Ну то есть исправно возвращает новый список, но у него уже не на один элемент больше, а на два. Всё, приехали — модификации состояния нет, а проблема "прямоугольник от квадрата" как была, так и осталась. S>Не вижу никакой проблемы. Сформулируйте её, пожалуйста, в этом примере.
Представь себе метод, который дополняет список новыми операциями, скажем, новые проводки. Нечто вроде кеша, операции добавляются в список. Поработал пользователь с программой, сделал пару проводок, скажем 5 по 100 долларов, а в саммари видит счет на 1000 и если он не заметит подвоха, то оплатит счет на вдвое большую сумму. Вот это и есть наследование прямоугольника от квадрата.