
- •Тема 1.2. Об'єктна модель предметного середовища, принципи її побудови. Поняття об'єктів і класів та їх взаємовідносин
- •1. Поняття «Об'єктна модель предметного середовища». Порівнева конкретизація моделі. Конкретизація даних.
- •Что такое «Объектная модель» в ооп?
- •2. Взаємодія об’єктів. Конкретизація алгоритмів і міжоб’єктних зв’язків.
- •3. Поняття алгоритмів і даних в інтерпретації об’єктної моделі.
- •4. Принципи побудови об’єктної моделі.
- •5. Поняття класу. Типи даних і класи. Что такое «Класс» в ооп?
- •2. Відношення між класами, елементи (структура) класу, ієрархія класів.
- •3. Об’єкт, як представник класу.
- •4. Парадигми ооп: абстракція, інкапсуляція, спадкування, поліморфізм. Что является предметом абстрагирования в ооп?
- •Что понимается под наследованием в ооп?
- •В чем проявляется полиморфизм классов?
- •В чем особенности абстракции и инкапсуляции в ооп
В чем особенности абстракции и инкапсуляции в ооп
Абстракция и Инкапсуляция в классах ООП также нацелены на облегчение процесса программирования. Извне класс кажется гораздо проще, чем изнутри. Это потому, что большинство переменных и функций класса скрыты от того, кто использует класс для создания объектов. Он видит класс «абстрактно», без лишних подробностей, но со всеми существенными деталями.
В классе «Материальная точка» скрыты многие промежуточные переменные и функции, служащие для вычисления реального движения. Снаружи оставлены только методы определения новых координат при перемещении. Этого достаточно, чтобы запрограммировать движение точки и рассчитать требуемые усилия.
Чтобы абстрагировать объект, он должен быть сравнительно “слабо связан” с окружающим миром. Он должен обладать сравнительно небольшим набором (существенных) свойств, характеризующих его отношения с другими объектами. С другой стороны, выделение класса как некоторого понятия, охватывающего целый ряд различных объектов, также является моментом абстракции.
Поэтому абстрагирование, как таковое, имеет два аспекта: выделение общих и в тоже время существенных свойств, описывающих поведение ряда схожих предметов.
С абстракцией неразрывно связан принцип инкапсуляции. Инкапсуляция — это сокрытие второстепенных деталей объекта. Для этого нужно выделить сначала существенные его свойства. Но чтобы выделить существенные свойства, нужно сначала отвлечься от второстепенных. Так что в действительности речь может идти только о едином акте, в котором можно лишь отвлеченно выделить два отдельных момента.
С технической точки зрения абстракция и инкапсуляция выражаются в том, что классы состоят из интерфейса и реализации. Интерфейс представляет абстрагированную сущность объектов. Реализация скрыта в своих деталях от пользователя класса.