> -- ___ писал(а):
> т.е. для того, что бы продемонстрировать идею инкапсуляции сначало нужно посоставлять различные программы из разных модулей, и рассмотреть межмодульное взаимодействие?или можно ограничиться тем что поля записей нельзя изменять напрямую, а только с помощью методов?

Наверное, не нужно. Достаточно просто сказать, что модуль - это "черный ящик", преднизначенный для выполнения какой-то конкретной задачи.  Из этого ящика наружу "торчит" небольшое количество процедур, констант и переменных, с помощью которых эту задачу можно решить. Это - его интерфейс, а все остальное скрыто внутри "ящика". Это и есть инкапсуляция. Зачем это нужно? Затем, чтобы можно было свободно модифицировать "начинку" ящика, не меняя  его интерфейс.

Это общий принцип конструирования сложных систем. Скажем, интерфейс у Windows 98 и Windows 2000 - идентичны,  а "начинка" - принципиально отличается, фактически это две совершенно разные ОС. Но пользователю забивать этим голову не надо, и он легко пересядет с одной системы на другую.

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