0 / 0 / 1
Регистрация: 18.03.2017
Сообщений: 34
|
|
1 | |
Зачем нужна инкапсуляция?07.09.2017, 19:20. Показов 12922. Ответов 20
Метки нет (Все метки)
Зачем, например, нужно писать переменную в private поле, и обращаться к нему с помощью функций в public поле?
0
|
07.09.2017, 19:20 | |
Ответы с готовыми решениями:
20
Зачем нужна перестановка? Зачем нужна конструкция else if Зачем нужна функция GetPrivateProfileString? Зачем нужна перегрузка операторов? |
51 / 149 / 33
Регистрация: 29.06.2019
Сообщений: 1,428
|
|
19.02.2021, 07:03 | 21 |
чисто практически, я бы выделила для себя возможность Управления ресурсами... - супер-полезную возможность создавать объекты Конструктором и удалять Деструктором... и всю рутину по этим непростым действиям засовывать в класс в любом удобном виде (хоть в private сектор, хоть в public) и настраивать корректную реализацию этих действий, как и др. методов работы с объектами (хоть на куче, хоть на стэке - есть различия)... так вот зачем все эти детали работы с памятью или др. ресурсами выносить наружу и делать небезопасный код?.. - конечно, лучше всё опасное спрятать и превращение в безопасное спрятать туда же...
я вот не люблю сухие цитаты из книжек и безаппеляционность принуждения к их использованию (всё равно не поможет - применять без пользы, даже если с т.н. "пониманием" - уродство ведь получится, - да и книги бывают разные) -- но практическую применимость любых новых понятий ценю намного больше... в моём кодинге вижу Ппрактическую полезность применения инкапсуляции сугубо и прежде всего для целей Управления ресурсами... там, где этого не надо, - можно обойтись и простым процедурным стилем кодинга... имхо p.s. вижу смысл Полиморфизма - в возможности работать с разными типами (т.к. яз. C++ - строго типизирован)... вижу смысл Наследования - decoupling (уменьшение связанность и переориентация зависимостей - e.g. в Dependency Inversion применении, - где надо вынести в Общую Политику к.-л. действие различных классов - для ослабления зависимостей между классом и базовым поведением - чтобы можно было ещё что-нибудь унаследовать от базового в будущем, - т.е. для облегчения сопровождения в данном случае, и для уменьшения количества кода во вторую очередь) -- вот и вся практическая выгода ООП для меня в С++... (в др. более высокоуровневых языках польза при написании распределённых приложений)
0
|
19.02.2021, 07:03 | |
19.02.2021, 07:03 | |
Помогаю со студенческими работами здесь
21
Зачем нужна функция cin.ignore()? Зачем нужна ссылка в конструкторе копирования Зачем нужна строчка в set методе Зачем нужна lib для dll Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |