LINUX.ORG.RU

Правильная инициализация поля в C++

 


0

1

Привет. Есть одна^Wодин класс, а в классе поле. Это поле 100% будет будет инициальзироваться в одно действие, и наккой логики при его инициализации / удалении нет. Имеет ли смысл сделать его публичным, или стоит сделать приватным и написать функции для работы с ним?
Поясните как лучше.


Ответ на: комментарий от qulinxao

троица Инкапсуляции, Наследования и Полиморфизма автоматически приобрела святость «ибо так и ни как иначе»

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

Пойми - исключения возможны, но приводят к проблемам, о которых должны ВСЕ помнить, кто к этим исключениям имеет доступ. Если класс сложный, то даже единственный разработчик всё в голове удержать не сможет. Потому и применяют Инкапсуляцию. А наследование и полиморфизм - что-бы хоть как-то можно было эту инкапсуляцию применять. Без них не взлетит.

Это не костыли, это оградки, которые сделаны для того, что-бы кто-то случайно не навернулся.

drBatty ★★
()
Ответ на: комментарий от drBatty

пойми ООП - это исключительная ситуации требующая соблюдения приреквеста.

нет приреквеста - лесом ООП.

qulinxao ★★☆
()
Ответ на: комментарий от qulinxao

пойми ООП - это исключительная ситуации требующая соблюдения приреквеста.

не понял. объясни подробнее.

drBatty ★★
()
Ответ на: комментарий от drBatty

достаточно большая система в которой её обозримость требует разложения на «независимые» сущьности.

qulinxao ★★☆
()
Ответ на: комментарий от drBatty

см. Страустроп Дизайн и эволюция С++

С++ не ограничивается ООП.

абстрактный класс как отказ от наследования реализации с сохранением полиморфизма.

qulinxao ★★☆
()
Ответ на: комментарий от qulinxao

достаточно большая система в которой её обозримость требует разложения на «независимые» сущьности.

любой НЕ хэлловорд к этой фазе приходит ещё до первого релиза. Исключение - коротенькие скрипты, которые удобно писать на bash'е или там php каком-нить.

drBatty ★★
()
Ответ на: комментарий от qulinxao

С++ не ограничивается ООП.

только не для меня :)

drBatty ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.