Это одна из реализаций логики.
Я, увы, матлогику строго не изучал, поэтому не знаю — может, "реализация логики" и не является бессмысленным словосочетанием...
Но если мы сделаем кастинг круга в эллипс, то сеттеры - высота и длина будут взяты из класса эллипса.
То есть мы-таки сможем сделать некруглый круг. Здорово, правда? Вот только в унаследованном круге нету ни сеттера высоты, ни сеттера длины, только сеттер радиуса. Это идея — по умолчанию сеттеры
не наследуются — в статье выражена не очень ярко.
Разумеется, такая модель не отменяет возможность использовать существующую сейчас модель расширения типов (type extending), когда расширение всего лишь добавляет новые аттрибуты в существующее представление, не удаляя никаких из старых.
В этом-то вся проблема, что если нужно растянуть круг, а не увеличить, то его нужно кастить к эллипсу. То есть нужно в программе явно различать круг как круг и круг как эллипс. А это как раз отход от полиморфизма.
Операция растяжения к переменной-кругу не применима... если, конечно, это не функция, берущая значение-эллипс и возвращающая значение-эллипс.