Да, может. Но переопределенная функция может только ослабить предусловие его родителя и усилить его постусловие. Чтобы сделать его более понятным, вы вынуждены объявить свое предварительное условие как require else
в переопределенной функции и объявить постусловие как ensure then
, чтобы дать понять, что вы ослабляете / усиливаете соответствующее утверждение.
Более подробное объяснение см. На сайте документации .