Страница 6 из 10
Унарное отношение связывает объекты одного и того же класса.
Бинарное отношение связывает объекты двух классов.
Тройное отношение связывает объекты трех или более классов.
Мощность бинарной ассоциации обозначает количество экземпляров, участвующих в ассоциации. Существует три типа коэффициента мощности, а именно:
Один-к-одному. Один объект класса A связан с одним объектом класса B.
Один-ко-многим. Один объект класса A связан со многими объектами класса B.
Многие-ко-многим. Объект класса A может быть связан со многими объектами класса B, и, наоборот, объект класса B может быть связан со многими объектами класса A.
Агрегация или композиция – это взаимосвязь между классами, при которой класс может состоять из любой комбинации объектов других классов.
Она позволяет размещать объекты непосредственно внутри тела других классов.
Агрегация называется отношением “part–of” или “has–a”, с возможностью навигации от целого к частям.
Агрегатный объект – это объект, состоящий из одного или нескольких других объектов.
Метод объектно-ориентированного моделирования (OOM) визуализирует вещи в приложении с использованием моделей, организованных вокруг объектов.
И любой подход к разработке программного обеспечения проходит через следующие этапы:
Это анализ, дизайн и реализация.
При объектно-ориентированной разработке программного обеспечения разработчик программного обеспечения идентифицирует и организует приложение с точки зрения объектно-ориентированных концепций до их окончательного представления на любом конкретном языке программирования или программных инструментах.
И основными этапами разработки программного обеспечения с использованием объектно-ориентированной методологии являются объектно-ориентированный анализ, объектно-ориентированный дизайн и объектно-ориентированная реализация.
На этапе объектно-ориентированного анализа, формулируется проблема, определяются пользовательские требования, а затем модель строится на основе объектов реального мира.
Анализ дает модели то, как должна функционировать желаемая система и как она должна развиваться.
При этом модели не содержат каких-либо деталей реализации, чтобы эти модели могли бы быть поняты и изучены любым экспертом, не являющимся техническим специалистом.
Объектно-ориентированный дизайн включает в себя два основных этапа, а именно: дизайн системы и дизайн объектов.
На этапе системного дизайна разрабатывается полная архитектура желаемой системы.
Система определяется как набор взаимодействующих подсистем, которые, в свою очередь, состоят из иерархии взаимодействующих объектов, сгруппированных по классам.
Конструирование системы выполняется на основе как модели анализа, так и предлагаемой архитектуры системы.
Здесь акцент делается на объектах, входящих в систему, а не на процессы в системе.
На этапе дизайна объектов разрабатывается модель на основе как моделей, разработанных на этапе анализа, так и архитектуры, разработанной на этапе дизайна системы. При этом определяются все необходимые классы.
Устанавливаются ассоциации между классами и определяются иерархии классов.
На этапе объектно-ориентированной реализации и тестирования модель дизайна, разработанная при дизайне объектов, преобразуется в код на соответствующем языке программирования.
Создаются базы данных и определяются конкретные требования к оборудованию.
После того, как создается код, он проверяется с использованием специализированных методов для выявления и устранения ошибок в коде.
Концептуальная структура объектно-ориентированных систем основана на объектной модели.
И объектно-ориентированная система основывается на двух категориях свойств.
Это основные свойства, которые объектно-ориентированная система обязана иметь:
– Абстракция.
– Инкапсуляция.
– Модульность.
– Иерархия.
И дополнительные свойства, которые полезны, но не являются неотъемлемой частью объектной модели:
– Типизация.
– Параллельность.
– Сохраняемость.
Абстракция означает сосредоточиться на существенных особенностях элемента или объекта, игнорируя его посторонние или случайные свойства.
И основные свойства относятся к контексту, в котором используется объект.
Инкапсуляция – это процесс связывания как атрибутов, так и методов вместе внутри класса.
Благодаря инкапсуляции внутренние детали класса могут быть скрыты извне.
Класс имеет методы, которые предоставляют пользовательские интерфейсы, с помощью которых могут использоваться службы, предоставляемые классом.
Модульность – это процесс разложения задачи (программы) на набор модулей, чтобы уменьшить общую сложность проблемы.
И модульность связана с инкапсуляцией.
Модульность может быть визуализирована как способ отображения инкапсулированных абстракций в реальные физические модули, имеющие высокую степень сцепления внутри модулей, а их межмодульное взаимодействие или связь является слабой.
Иерархия – это ранжирование или упорядочение абстракции.
Через иерархию система может состоять из взаимосвязанных подсистем, которые могут иметь свои собственные подсистемы и т. д.
До тех пор, пока не будут достигнуты наименьшие компоненты уровня.
Иерархия использует принцип «разделяй и властвуй».
И иерархия позволяет повторно использовать код.
Двумя типами иерархий являются:
Иерархия «IS-A». Она определяет иерархическую взаимосвязь в наследовании, в которой из суперкласса может быть выведено несколько подклассов, которые могут снова иметь подклассы и т. д.
И иерархия «PART-OF» – определяет иерархическую взаимосвязь в агрегации, посредством которой класс может состоять из других классов.
Согласно теории абстрактного типа данных, тип является характеристикой набора элементов.
В ООП класс визуализируется как тип, имеющий свойства, отличные от любых других типов.
Типизация – это применение понятия о том, что объект является экземпляром одного класса или типа.
Типизация также предусматривает, что объекты разных типов обычно не являются взаимозаменяемыми; и могут быть взаимозаменяемы только в очень ограниченном порядке, если это абсолютно необходимо.
Два типа типизации – это строгая типизация – здесь операция над объектом проверяется во время компиляции.
И слабая типизация – здесь сообщения могут быть отправлены в любой класс.
Операция проверяется только во время выполнения.
Параллельность в операционных системах позволяет одновременно выполнять несколько задач или процессов.
Большинство систем имеют несколько потоков, при этом некоторые активные, а некоторые ждут процессор, некоторые приостановлены и некоторые завершены.
Системы с несколькими процессорами допускают одновременные потоки управления; но системы, работающие на одном процессоре, используют соответствующие алгоритмы для обеспечения равного времени процессора для потоков, чтобы обеспечить параллелизм.
В объектно-ориентированной среде существуют активные и неактивные объекты.
Активные объекты имеют независимые потоки управления, которые могут выполняться одновременно с потоками других объектов.
И активные объекты синхронизируются друг с другом, а также с чисто последовательными объектами.
Объект занимает пространство памяти и существует в течение определенного периода времени.
В традиционном программировании продолжительность жизни объекта обычно была продолжительностью выполнения программы, которая ее создала.