Является ли инкапсуляция подмножеством абстракции? - PullRequest
1 голос
/ 05 октября 2009

Поскольку инкапсуляция и абстракция связаны с сокрытием информации, могу ли я понимать инкапсуляцию как подмножество абстракции?

Ответы [ 2 ]

8 голосов
/ 05 октября 2009

Инкапсуляция - это только один из способов достижения абстракции.

' абстракция ' - это концепция , это идея определения или понимания определенной «вещи» (какой бы она ни была) через ее существенную свойства или поведение.
' инкапсуляция ' - это информатика техника , используемая для создания классов, которые позволяют работать с конкретными объектами таким образом, чтобы их уменьшить до их абстрактные составляющие.

В области компьютерных наук другие методы, такие как использование графов и других структур данных , представляют собой еще один способ предоставления абстракции для различных базовых «вещей», которые даже могут не выглядеть как графы (или матрицы или другие структуры) имеют некоторые из своих существенных характеристик, воплощенных в этих структурах.

В других областях абстракция может быть достигнута очень разнообразным способом, таким как бесконечный процесс классификации в работе человеческого мозга, который создает и поддерживает «прототипы» (высокоуровневые инвариантные представления), представляющие повседневные понятия.

2 голосов
/ 05 октября 2009

К сожалению, три термина, которые вы упомянули выше, часто используются как взаимозаменяемые для лучшего или худшего

Википедия: скрытие информации

Термин инкапсуляция часто используется взаимозаменяемо с сокрытием информации. Не все согласны с различием между двумя, хотя; можно думать, что информация скрывается как принцип, а инкапсуляция - техника. Программный модуль скрывает информацию, инкапсулируя информацию в модуль или другую конструкцию, которая представляет интерфейс.

Что касается вашего конкретного вопроса, я думаю, что ответ - нет. Инкапсуляция, вероятно, не лучше всего воспринимается как подмножество абстракции. Абстракция - более или менее идеал; Инкапсуляция

процесс разделения элементов абстракции, составляющих его структуру и поведение

является средством для достижения хорошей абстракции.

...