- •О.Н. Ванеев, д.Е. Турчин
- •Лабораторный практикум
- •Кемерово 2013
- •Описание лабораторного практикума
- •1.2.2. Множества и операции над ними
- •1.2.3. Декартово произведение множеств. Соответствия и отношения на множествах
- •1.2.4. Основные понятия теории графов
- •1.2.5. Анализ модели системы
- •1. Определение цели системы.
- •2. Выделение подсистем.
- •3. Выделение внешних систем.
- •4. Выделение входов, ресурсов и затрат.
- •5. Выделение выходов, результатов и прибыли.
- •1. Определение цели системы.
- •2. Выделение подсистем.
- •3. Выделение внешних систем.
- •4. Выделение входов, ресурсов и затрат.
- •5. Выделение выходов, результатов и прибыли.
- •1.3. Порядок выполнения работы
- •2.3. Порядок выполнения работы
- •3.3. Порядок выполнения работы
- •4.3. Порядок выполнения работы
- •5.2.2. Метод ранжирования вариантов
- •2.2.3. Метод парных сравнений
- •5.3. Порядок выполнения работы
- •Основные положения объектной модели.
- •6.2.2. Общая характеристика объектов и классов. Отношения между объектами и классами Общая характеристика объектов.
- •Общая характеристика классов.
- •6.2.2. Понятие о языке uml. Диаграммы классов Понятие о языке uml.
- •Диаграммы классов uml.
- •6.2.3. Реализация класса и его элементов на языке программирования c# Состав класса. Описание класса.
- •Поля и константы. Методы.
- •Свойства.
- •6.3. Порядок выполнения работы
- •6.4. Контрольные вопросы
- •Диаграммы последовательностей.
- •7.2.2. Отношения между классами. Моделирование наследования Отношение между классами. Ассоциация, агрегация и зависимость.
- •7.2.3. Реализация отношений между классами на языке c#
- •7.3. Порядок выполнения работы
- •8.4. Контрольные вопросы
- •Рекомендуемая литература
- •Приложение п.1. Значения статистических критериев
Основные положения объектной модели.
Основными элементами объектной модели являются:
• абстракция;
• инкапсуляция;
• модульность;
• иерархия.
Абстракция, которая предполагает, что требуется отвлекаться от несущественных характеристик конкретных объектов, определяя только существенные характеристики. Например, в абстракции «часы» можно выделить существенную характеристику «показывать время», отвлекаясь от таких несущественных характеристик часов, как форма, цвет, материал, цена, изготовитель.
Абстракция концентрирует внимание на внешнем представлении объекта, позволяя отделить основное в поведении объекта от его реализации.
Инкапсуляция – сокрытие реализации объекта, которая обеспечивает его поведение. Обычно скрывается структура данных объектов и реализация их методов.
Инкапсуляция служит для отделения интерфейса абстракции от ее реализации. Инкапсуляция является процессом разделения элементов абстракции на секции с различной видимостью.
Модульность – свойство системы, разложенной на цельные, но слабо связанные между собой модули.
В современных объектно-ориентированных языках программирования (например, Java) мощным средством обеспечения модульности являются пакеты. Под пакетом понимают хранилище элементов (классов, вложенных пакетов). Пакет задает видимость находящихся в нем элементов. В языках платформы .Net вместо термина «пакет» используют термин «пространство имен» (namespace).
Иерархия – ранжирование, или упорядочивание абстракций.
Наиболее важными видами иерархии в сложных системах являются структура классов (иерархия «общее-частное») и структура объектов (иерархия «целое-часть»)
6.2.2. Общая характеристика объектов и классов. Отношения между объектами и классами Общая характеристика объектов.
Объект представляет собой конкретный идентифицируемый элемент (реальный или абстрактный), играющий четко определенную роль в данной предметной области.
Структура и поведение подобных объектов определяются в их общем классе. Термины «объект» и «экземпляр класса» взаимозаменяемы.
Объект обладает индивидуальностью, состоянием и поведением.
Индивидуальностью объекта называется характеристика объекта. которая отличает его от всех других объектов.
Состояние объекта характеризуется перечнем всех атрибутов данного объекта и текущими значениями каждого из этих атрибутов.
Объекты не существуют изолированно друг от друга. Они подвергаются воздействию или сами воздействуют на другие объекты.
Поведение объекта характеризует то, как объект воздействует на другие объекты (или подвергается воздействию) в терминах изменения его состояния и передачи сообщений. Поведение определяется перечнем всех операций объекта.
Операцией называют именованный сервис, который предоставляется данным объектом по требованию другого объекта. То есть операция – это абстракция того, что можно делать с объектом.
Наиболее распространенными операциями являются:
• Модификатор – операция, изменяющая состояние объекта.
• Селектор – операция, изменяющая доступ к состоянию объекта, но не меняющая это состояние.
• Итератор – операция, обеспечивающая доступ ко всем частям объекта в строго определенном порядке.
• Конструктор – операция, создающая объект и/или инициализирующая его состояние.
• Деструктор – операция, стирающая состояние объекта и/или уничтожающая сам объект.
В чистых объектно-ориентированных языках (например, Java и C#) операции могут быть объявлены только как методы. Гибридные языки (например, C++ и Ada) позволяют писать операции как свободные подпрограммы (вне классов).
Все методы и свободные подпрограммы, связанные с конкретным объектом, образуют его протокол. Протокол определяет границы допустимого поведения объекта (рис. 6.Х).
Большой протокол разделяют на логически взаимосвязанные группировки поведения, которые называют ролями. Роли объекта носят динамический характер и могут меняться со временем.
Рис. 6.Х. Пространство поведения объекта «студент»
