Re[3]: Трудные для ООП иерархии классов
От: elmal  
Дата: 20.09.07 12:58
Оценка:
Здравствуйте, Кодёнок, Вы писали:

Кё>То есть предлагаешь иерархию использовать только для классификации их всех как "чисел", а автоматическую совместимость между ними реализовать через implicit conversion?

В общем да, а вот в деталях может оказаться что и нет . От деталей реализации все зависит.

Кё>А как решить проблему sqrt?

А какая проблема с sqrt? sqrt(Number number) и должен возвращать набор чисел. sqrt(4) = 2 и -2 насколько я помню. И собственно когда мы его будем возвращать — эти числа должно быть наиболее адекватного типа. Ну а sqrt(-1) должен возвратить комплексное число, вроде оно наже одно (блин, уже школьную программу забываю — ужас). Если для корня определенного числа возвратится несколько значений разных типов (например одно комплексное, другое действительное), а мне нужен допустим только действительные — я могу лишние отбросить. Я бы например сделал, чтобы sqrt возвращал объект класса 'Корни'. И у этого класса можно сделать методы фильтрации по содержимому — возвратить только положительные, возвратить только действительные и т.д, возвратить как список, как массив, получить итератьр и т.д.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.