2016-03-21 3 views
2

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

+0

На самом деле, первая пара предложений в статье wikipedia об инкапсуляции, относящаяся к ООП, полностью отвечает на этот вопрос: https://en.wikipedia.org/wiki/Encapsulation_(computer_programming) – jrahhali

ответ

0

В простой форме я постараюсь объяснить это вещи:

Инкапсуляция является понятие группировки связанных вещей в одно целое.

Информационное скрытие - это концепция ограничения доступа к членам, которые мы сгруппировали вместе в концепции выше.

Итак, если вы видите, обе концепции схожи. Здесь мы не можем сказать, что они связаны друг с другом.

+0

Вы противоречите себе. Определение вашего скрытия информации зависит от произошедшего инкапсуляции, и, тем не менее, вы заявляете, что нет никакой зависимости между концепциями. Вы не можете иметь это в обоих направлениях. – forsvarir

+0

Мы можем либо скрыть данные, либо нет. Поэтому, независимо от того, что мы объединяем, не всегда должно быть скрыто. Скрытие зависит только от того, какой тип данных мы хотим ограничить для пользователя. Вот почему я сказал, что между ними нет зависимости. –

0

Инкапсуляция - это возможность группировать связанные элементы. Это как переменные-члены, так и методы.

Хотя скрытие информации - это возможность скрыть внутреннее состояние.

Однако на практике скрытие информации часто рассматривается как часть инкапсуляции.

Смежные вопросы