170 похожих чатов

8 ответов

11 просмотров

Паттерн properties работает примерно так. Есть базовые проперти которые виртуально возвращают нули, далее для каждого ребенка создаются свои проперти наследуемые от базовых и уже они возвращают реальные значения. Так ты решаешь 2 проблемы. 1 - та, с которой вы столкнулись 2 - если проперти не существует для конкретного наследника, вернётся что-то около null, которы можно проверить

ну если это требуется, то почему нет

Что-то подсказывает что так нельзя рассуждать в контексте плюсов. Сейчас как-бы dynamic cast тоже нужен, но это неправильно

Осторожно, кто-то сочтет этот антипаттерном!

Project Logic
Почему?

ну возврат null это жи "небезопасна"

Aleksander Spichak
ну возврат null это жи "небезопасна"

Ну вернуть можно std optional в таком случае

Project Logic
Что-то подсказывает что так нельзя рассуждать в ко...

можно, потому что это ничего не ломает и не нарушает. А динамик каст вообще-то ломает весь смысл абстракции, потому что в методе принимающем базовый класс, будет использоваться конкретная реализация. Не проще тогда сразу наследников передать и все

Похожие вопросы

Обсуждают сегодня

Anyone here suffers from unexplained aural migraines, who would be up for talking for a bit? Doesn't *have* to be aural, but I am not asking about headaches, I mean actual mi...
Martin Rys
55
Вопрос по WIN32: Насколько я понимаю то все функции win32 привязаны к объектам операционной системы. Например консоль, файл, кисть, окна итд. Следовательно функции win32 упра...
Tommy Vercetti
6
Hello, can I install macOS and run flutter on a virtual machine? Is it possible to print for iphone?
Mazones
11
кто-то пользуется компонентами rx ? как их лучше ставить, через OPM? (lazarus)
Iluha Companets
15
В смысле более затратная? Общая стоимость владения лошадью меньше, чем автомобиля. В среднем.
Sergej R
10
подскажите пожалуйста, как мне освободить результат записанный в переменную result? в чем проблема подскажите если МОЖЕТЕ?
Михаил Helper
28
есть тут кто-то , кто только начал изучать си? если проходите курс на степике или как-то сами изучаете, пишите, может, скооперируемся?..
Eule
25
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Слушайте, ещё такая интересная задачка. Сделан аудит действий пользователей через триггеры в базе, соответственно каждый пользователь имеет свой логин и пароль в базе. Это пре...
Сергей Бычков
12
Скажите, тут нет проблемы? IMyInterface1 = interface function GetInterface2: IInterface2; ... function TMyInterface.GetInterface2: IInterface2; begin Result := TI...
Ruslan aka DUDE
18
Карта сайта