Главная » Просмотр файлов » Дж. Рамбо, М. Блаха - UML 2.0 - Объектно-ориентированное моделирование и разработка

Дж. Рамбо, М. Блаха - UML 2.0 - Объектно-ориентированное моделирование и разработка (1158633), страница 10

Файл №1158633 Дж. Рамбо, М. Блаха - UML 2.0 - Объектно-ориентированное моделирование и разработка (Дж. Рамбо, М. Блаха - UML 2.0 - Объектно-ориентированное моделирование и разработка) 10 страницаДж. Рамбо, М. Блаха - UML 2.0 - Объектно-ориентированное моделирование и разработка (1158633) страница 102019-09-18СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 10)

Если предметом моделирования являются объекты, то почему вообще заходит речь о классах? Все дело в необходимости абстрагирования. Группируя объекты в классы, мы производим абстрагирование в рамках задачи. Именно благодаря абстракциям моделирование оказывается столь мощным инструментом, позволяющим проводить обобщения от нескольких конкретных случаев к множеству подобных альтернатив. Общие определения (такие как название класса и названия атрибутов) хранятся отдельно для каждого класса, а не для каждого экземпляра.

44 Глава 3 ° Моделирование классов Операции могут быть написаны один раз для целого класса, благодаря чему все объекты класса получают возможность повторно использовать написанный код. Например, все эллипсы имеют общие процедуры прорисовки, вычисления площади и проверки на наличие пересечения с некоторой прямой. У многоугольников будет свой набор процедур. Даже в особых случаях (например, для окружностей и квадратов) могут использоваться универсальные процедуры, хотя специальные алгоритмы могут быть и эффективнее.

3.1.3. Диаграммы классов В начале этой главы мы обсудили некоторые основные концепции моделирования, а именно обьекгл и класс. Мы рассказывали о них словами и приводили примеры. Такой подход не дает достаточной четкости и непригоден для описания сложных приложений. Нам нужно средство описания моделей, которое было бы согласованным, точным и простым в использовании. Модели структуры бывают двух типов: диаграммы классов и диаграммы объектов.

Диаграммы классов позволяют описать модель классов и их отношений (а значит, и возможные объекты) при помощи графической системы обозначений. Диаграммы классов полезны как для абстрактного моделирования, так и для проектирования конкретных программ. Они точны, просты для понимания и хорошо зарекомендовали себя на практике. На протяжении всей книги мы будем пользоваться диаграммами классов для отражения структуры приложений. Периодически мы будем использовать и диаграммы объектов.

На таких диаграммах изображаются отдельные объекты и отношения между ними. Диаграммы объектов полезны для документирования тестовых ситуаций и обсуждения примеров. Диаграмма классов описывает бесконечное множество диаграмм объектов. На рис. 3.1 показан класс (слева) и его экземпляры (справа). Объекты /ое5иигй (Джосмит), Магу5йагр (МэриШарп) и безымянная личность являются экземплярами класса Ретзоп (Человек). В языке ()М1.

для обозначения объекта используется прямоугольник, внутри которого ставится имя объекта, двоеточие и имя класса, к которому относится этот объект. И имя объекта, и имя класса подчеркиваются. Мы используем дополнительное соглашение, которое состоит в том, что имена объектов и классов выделяются полужирным шрифтом. ~~~Яш) Объекты Рис. 3.1. Объекты и классы — предмет модели классов Для обозначения класса в ()М1. тоже используется прямоугольник.

Мы указываем имя класса полужирным шрифтом, располагая его посередине прямоугольника. Имя класса мы всегда будем начинать с заглавной буквы. Эти соглашения используются для ссылок на объекты, классы и другие конструкции. Могут быть приняты альтернативные соглашения, например, о допустимости пробелов или знаков подчеркивания в названиях классов или объектов (/ое 5т1гй, 3.1. Концепции объекта и класса 45 /ое 5ппй). Соглашение об использовании заглавных букв между строчных попу- лярно в литературе, посвя1ценной объектно-ориентированным технологиям, но не является требованием языка ()М1.. 3.1.4.

Значения и атрибуты Значение (ча1це) — это элемент данных. Значения можно определить, изучив примеры, приведенные в документации по поставленной задаче. Атрибут (аггг1Ьцге)— это именованное свойство класса, описываюшее значение, которое может иметь каждый объект класса. Атрибуты — это прилагательные.

Они получаются абстрагированием типичных значений. Можно провести следуюшую аналогию: объект относится к классу так, как значение относится к атрибуту. В моделях классов преобладают структурные конструкции (то есть классы и отношения между ними, о которых речь пойдет дальше). Атрибуты имеют не столь важное значение и служат для уточнения характеристик классов и отношений. Атрибутами объектов класса Регзоп (Человек) являются пате (имя), Ь)ггЫаге (датарождения) и гее18Ьг (вес).

Атрибутами объектов класса Саг (Машина) являются со1ог (цвет), тоае1геаг (годвыпуска) и гиефЬг (вес). У каждого конкретного объекта атрибут принимает свое конкретное значение. Например, у объекта уоеЯт11Ь атрибут Ь(ггЫаге может иметь значение «21 октября 1983». Другими словами, Джо Смит родился 23 октября 1983 года. У разных объектов один и тот же атрибут может иметь как разные, так и одинаковые значения. Имя атрибута уникально в рамках класса (но не обязательно уникально во множестве всех классов). Поэтому у классов Регзоп и Саг может быть атрибут с одним и тем же названием — гее1дЬА Не следует путать значения с объектами. Атрибут должен описывать значения, а не объекты.

В отличие от объектов значения не обладают индивилуальностью. Например, все экземпляры числа 17 неразличимы между собой. Точно так же неразличимы экземпляры строкового значения «Канада». С другой стороны, страна, которая называется Канада, является объектом, у которого атрибут «название» имеет значение «Канада».

На рис. 3.2 показана система обозначений атрибутов. Класс Ретоп (Человек) имеет атрибуты пате (имя) и Ь(ггЫаге (датарождения). Мате — это строка, а Ь1ггЫаге — дата. У одного из объектов класса Регзоп атрибут пате имеет значение «Джо Смит», а Ь1ггЫаге имеет значение «21 октября 1983». У другого объекта того же класса атрибут пате имеет значение «Мэри Шарп», а атрибут Ь(ггЫаге имеет значение «16 марта 1950». Рвгвоп пвтв: випв Ьаек1а1в: бв1в Клаве е атрибутами Объваты ео значениями Рис.

3.2. Атрибуты обеспечивают детализацию классов 46 Глава 3 ° Моделирование классов Согласно системе обозначений ПМЕ, атрибуты указываются во втором (сверху) отделе прямоугольника, обозначающего класс. После каждого атрибута могут быть указаны необязательные сведения о нем (например, тип и значение по умолчанию). Перед значением по умолчанию ставится знак равенства.

Мы указываем название атрибута обычным шрифтом (не полужирным) и первую букву названия не делаем заглавной. Во втором отделе прямоугольника объекта могут быть указаны значения атрибутов. В этом случае после названия атрибута ставится знак равенства, после которого записывается значение этого атрибута. Значения атрибутов мы выравниваем по левому краю и не выделяем их полужирным шрифтом. Иногда среда реализации может требовать наличия у объекта уникального идентификатора. Идентификаторы всегда неявным образом присутствуют в модели классов. Их не следует указывать явно (рис. 3.3). Большинство объектноориентированных языков генерируют идентификаторы для ссылок на объекты автоматически.

Так же легко определить идентификаторы и для баз данных. Идентификаторы являются артефактом вычислительной системы и не имеют внутреннего смысла. Неправильно Правильно Рис. З.З. Не следует указывать идентификаторы объектов явным образом Не следует путать внутренние идентификаторы с атрибутами. Внутренние идентификаторы вводятся исключительно для удобства реализации и не имеют никакого смысла в контексте приложения. Такие атрибуты, как индивидуальный номер налогоплательщика, серийный номер и телефонный номер, не являются внутренними идентификаторами, поскольку они имеют значение в реальном мире.

Их можно назвать полноправными атрибутами. 3.1.5. Операции и методы Операция — это функция или процедура, которая может быть применена к объектам класса. Операциями класса Сотрапу (Компания) могут быть лЬе (нанять), йге (уволить) и рауЖийепс) (выплатитьДивиденды). Операциями класса %троса (Окно) могут быть орел (открыть), с(озе (закрыть), ЬЫе (скрыть) и гесйр(ау (перерисовать). Все объекты одного класса имеют обгций список операций.

Каждая операция в качестве неявного аргумента принимает свой целевой объект. Поведение операции зависит от класса целевого объекта. Объект всегда знает свой собственный класс, а потому он всегда знает и правильную реализацию операции. Одна и та же операция может быть применена к разным классам. Такая операция называется полиморфной: в разных классах она может принимать разные 3.1. Концепции объекта и класса 4У формы. Методом (шейоо) называется реализация операции в конкретном классе. Например, класс Р!!е (Файл) может иметь операцию рппг (печать). Печать АЯСП- файлов, двоичных файлов и цифровых изображений может осуществляться разными методами.

Все эти методы с логической точки зрения выполняют одно и то же действие: печать файла. Поэтому они и являются реализациями одной и той же операции рппг. При этом каждый метод может быть реализован своим собственным кодом. У операции могут быть и другие аргументы, кроме целевого объекта. Эти аргументы могут быть как значениями, так и другими объектами. Выбор метода зависит только от класса целевого объекта, но не от классов аргументов, которые являются объектами, сколько бы их ни было. В некоторых объектно-ориентированных языках, в частности в СЕОЯ, выбор метода может определяться произвольным числом аргументов, но такая универсальность значительно усложняет семантику модели.

Характеристики

Список файлов книги

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6439
Авторов
на СтудИзбе
306
Средний доход
с одного платного файла
Обучение Подробнее