Является ли инкапсуляция подмножеством абстракции?
-
19-09-2019 - |
Вопрос
Поскольку и инкапсуляция, и абстракция связаны с сокрытием информации, могу ли я понимать инкапсуляцию как подмножество абстракции?
Решение
Инкапсуляция — это лишь один из способов достижения абстракции.
'абстракция' это концепция, Это идея определения или понимания конкретной «вещи» (какой бы она ни была) через ее существенные свойства или поведение.
'инкапсуляция' - это информатика техника используется для создания классов, которые позволяют работать с конкретными объектами таким образом, чтобы свести их к абстрактным компонентам.
В области информатики другие методы, такие как использование графики и другие структуры данных — это еще один способ обеспечить абстракцию для различных лежащих в основе «вещей», которые, хотя и не похожи на графики (или матрицы, или другие структуры), имеют некоторые из своих основных характеристик, воплощенных в этих структурах.
В других областях абстракция может быть достигнута самыми разными способами, например, бесконечным классификация процесс в человеческом мозгу, который создает и поддерживает «прототипы» (инвариантные представления высокого уровня), представляющие повседневные концепции.
Другие советы
К сожалению, три термина, которые вы упомянули выше, часто используются как взаимозаменяемые, в лучшую или в худшую сторону.
Термин «инкапсуляция» часто используется как синоним сокрытия информации.Однако не все согласны с различиями между ними;можно считать сокрытие информации принципом, а инкапсуляцию — методом.Программный модуль скрывает информацию, инкапсулируя ее в модуль или другую конструкцию, представляющую интерфейс.
Что касается вашего конкретного вопроса, я думаю, что ответ — нет.Инкапсуляцию, вероятно, не лучше рассматривать как подмножество абстракции.Абстракция — это более или менее идеал;инкапсуляция
процесс разделения элементов абстракции, которые составляют ее структуру и поведение
это средство достижения хорошей абстракции.