Войти
ФлеймФорумПрограммирование

Почему в ООП языках есть объявление подклассов, но нет объявления надклассов? (5 стр)

Страницы: 1 2 3 4 5
#60
22:08, 19 янв. 2020

pahaa
> В общем, не убедил.
Возможно.
Ты так и не дал ответ на вопрос знаком ли ты с шаблоном "посетитель". О нем много материала в сети, возможно он тебя переубедит.

> Но суперкласс не особо отличается в этом плане.
Вообще говоря да, ты прав. Его главное отличие только в спекуляции на особенностях синтаксиса, которые не позволяют отпочковать об базового класса еще что-нибудь.

> Просто задача довольно странная.
Мне кажется что она не столько странная, сколько редко встречается в современных практиках.
А едкость может быть обусловлена как раз таки отсутствием вменяемых механизмов. А рационализировать все это дело не составит особого труда, так что поспешные выводы делать не стоит.


#61
23:15, 19 янв. 2020

pahaa
> И поэтому под номером 3 написал дословно то же самое?
да. как вариант подхода к сериализации. почему нет

#62
23:36, 19 янв. 2020

Great V.
> Ты так и не дал ответ на вопрос знаком ли ты с шаблоном "посетитель".
Да, конечно знаком. И работал с этим много раз. И могу с уверенностью сказать, что этот паттерн мне не нравится. Не гибко и контексто-зависимо. А чтобы нормально работало в плюсах приходится ещё и двойную диспетчеризацию городить - т.е. медленно и трудночитаемо. Есть более предпочтительные альтернативы.

#63
0:07, 20 янв. 2020

pahaa
> медленно и трудночитаемо
Ты либо не понял сути, либо что-то делаешь не так.

#64
2:43, 20 янв. 2020

Great V.
> Ты либо не понял сути, либо что-то делаешь не так.
Двойная диспетчеризация = 2 вызова виртуальной функции только ради того, чтобы добраться до полезного кода. На пустом месте, просто так. Больше там и понимать нечего.

#65
3:57, 20 янв. 2020

pahaa
1. Зато алгоритм отделен от данных.
2. Да, мог бы быть лишь один вызов. Вообще говоря в каком-то JS можно сделать именно так, но современный С++ к этому не готов.

Страницы: 1 2 3 4 5
ФлеймФорумПрограммирование