Абстракция VS Сокрытие информации VS Инкапсуляция
ОП обновил свой вопрос несколькими abstraction цитатами, которые он нашел, а encapsulation именно в article by Edward V. Berard titled, "Abstraction, Encapsulation, and Information Hiding". Я повторно публикую ooad слегка расширенную и переформатированную information-hiding версию обновления OP, поскольку glossary это должен быть ответ сам information-hiding по себе.
(Все цитаты взяты glossary из статьи, упомянутой выше.)
Абстракция:
"Одна из причин путаницы в отношении абстракции заключается в ее использовании как процесса и как объекта. Абстракция как процесс означает извлечение важных деталей об элементе или группе элементов, игнорируя несущественные детали. Абстракция, как сущность, обозначает модель, представление или другое сфокусированное представление фактического элемента ".
Скрытие информации:
«Его интерфейс или определение было выбрано, чтобы раскрыть как можно меньше информации о его внутреннем устройстве». - [Парнас, 1972b]
«Абстракцию можно […] использовать как метод определения того, какая информация должна быть скрыта».
«Может возникнуть путаница, когда люди не могут отличить сокрытие информации от метода (например, абстракции), который используется для определения того, какая информация должна быть скрыта».
Инкапсуляция:
«Это […] относится к построению капсулы, в случае концептуального барьера, вокруг некоторой совокупности вещей». - [Wirfs-Brock ooad et al, 1990]
"Как процесс, инкапсуляция означает действие по включению одного или нескольких элементов в контейнер […]. Инкапсуляция, как объект, относится к пакету или вложению, которое содержит (содержит, включает) один или другие элементы. "
«Если инкапсуляция - это« то же самое, что и сокрытие информации », то можно было бы привести аргумент, что« все, что было инкапсулировано, также было скрыто ». Это явно неправда ".
Заключение:
«Абстракция, скрытие информации и инкапсуляция - очень разные, но тесно связанные концепции. Можно утверждать, что абстракция - это метод, который помогает нам определить, какая конкретная информация должна быть видна, а какая - скрыта. Инкапсуляция - это метод упаковки информации таким образом, чтобы скрыть то, что должно быть скрыто, и сделать видимым то, что должно быть видимым ".
encapsulation
abstraction
glossary
ooad
information-hiding
Абстракция VS Сокрытие информации VS Инкапсуляция
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.