И еще раз о наследовании квадратов
От: Wolverrum Ниоткуда  
Дата: 07.04.13 14:08
Оценка: :)))
Ввиду того, что предыдущая тема
Автор: Serginio1
Дата: 26.03.13
(равно как и более ранняя
Автор:
Дата: 02.07.11
) утонула в неизвестно чём, решил высказать свои соображения в новой теме.

Напомню вопрос: "Интересно а как ты квадрат то наследовать будешь? Это вырожденный прямоугольник у которого все стороны равны". Сам вопрос, к слову, есть ни что иное, как "проблема круга и эллипса", и даже есть какие-то потуги разрешения:
— через введение обобщения (Square -> Figure <- Rect);
— через требование неизменности объектов;
— через информационную составляющую (как Rect <- Square так и Square <- Rect (!)_)
— через слияние понятий "Square / Rect";
— и т.д.
Но, что самое интересное, от слова "топология" никто (в смысле: "я не нашёл" ) особо не отталкивается при попытках выдать-объяснить решение. Что, если взглянуть на проблему под "топологическим" углом? Быстро выясняется, что любой простой многоугольник (и даже более того — любая замкнутая кривая без самопересечений) топологически эквивалентен окружности. Интересная наклёвывается иерархия, не находите? Вместо специализации поведения — специализация состояния. На вершине иерархии, в базовом классе — интегральные, вычисляемые, качества фигур (площадь, периметр и т.п.), в потомках — лишь специфичные характеристики (радиус, фокусы, углы и т.п.).
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.