История изменений
Исправление monk, (текущая версия) :
который делает это увеличением ширины в два раза
Который делает это увеличением ширины в два раза при неизменной высоте. Для квадрата данная операция невозможна.
Очевидно, что для квадрата он будет увеличивать площадь не в два, а в четыре раза.
Это в том случае, если у квадрата a.x = a.x*2 будет неявно менять a.y. То есть нарушать контракт на сеттер.
Всякие неявные предположения о данных, не выраженные формально через средства языка, никаким боком к системе типов языка не относятся.
Вот так вот. То есть, если для переменной «температура в градусах Цельсия» должно быть допустимо (по контракту) значение -500? И количество пальцев на руках — любое число от 0 до 255?
Исходная версия monk, :
который делает это увеличением ширины в два раза
Который делает это увеличением ширины в два раза при неизменной высоте. Для квадрата данная операция невозможна.
Очевидно, что для квадрата он будет увеличивать площадь не в два, а в четыре раза.
Это в том случае, если у квадрата a.x = a.x*2 будет неявно менять a.y. То есть нарушать контракт на сеттер.
Всякие неявные предположения о данных, не выраженные формально через средства языка, никаким боком к системе типов языка не относятся.
Вот так вот. То есть, если для переменной «температура в градуса Цельсия» должно быть допустимо (по контракту) значение -500? И количество пальцев на руках — любое число от 0 до 255?