Визуальное проектирование классов
Цель работы: формирование навыков визуального проектирования классов.
Введение
Технологии визуального объектно-ориентированного проектирования про- грамм основаны на использовании принципов унифицированного языка моде- лирования UML (Unified Modeling Language), который представляет собой язык графического описания модели проектируемой системы.
Подобно тому, как алгоритмические конструкции представляются с помо- щью блок-схем, для изображения классов, а также связей между ними исполь- зуют диаграммы классов (class diagrams). Диаграмма классов представляет статическую модель системы, ее структуру. Она не описывает поведение сис- темы или механизмы взаимодействия экземпляров классов. Основная цель – показать классы, их состав и отношения между ними.
Основные элементы на диаграммах классов изображаются прямоугольни- ками, а их отношения – линиями. Стрелка, например, изображает наследование. Прямоугольник (класс) содержит секции, отражающие его состав. Следует под- черкнуть, что UML – это абстрактный язык описания и графического представ- ления системы. Его реализация в Microsoft Visual Studio использует привычные для программиста обозначения и термины. На рис. 2.1 приведен пример диа- граммы простейших классов в среде Visual Studio и описания класса Computer на языке C#.
Рис. 2.1. Диаграмма классов и описание на языке C#
Система Visual Studio позволяет автоматизировать процесс проектирова- ния классов. Она содержит набор инструментов визуального конструирования классов в интерактивном режиме. Так, для создания и отображения классов разных типов предназначены графические шаблоны – стереотипы, которые от-
личаются не только визуально, но и функционально (класс, абстрактный класс, интерфейс). Элементы класса (поля, свойства, методы) и их модификаторы по- мечены разными значками и отличаются по цвету.
Пример 1
Визуальное проектирование класса Computer.
Спроектируем класс Computer, который содержит поля model (модель) и ram (оперативная память), а также методы Start (включение) и End (вы- ключение).
Создадим новый проект con241. По умолчанию он имеет класс Program_.__В_этом_же_пространстве_имен_в_отдельном_файле_создадим_класс_Com-_puter'>Program.
В этом же пространстве имен в отдельном файле создадим класс Com- puter с помощью визуального Конструктора классов (Class Designer).
Для его вызова в окне Обозреватель решений (Solution Explorer) выде- лим имя проекта и щелкнем по значку Перейти к схеме классов (рис 2.2, а). Откроется окно Схема классов (ClassDiagrams) с созданным по умолчанию классом Program, содержащим шаблон метода Main (рис 2.2, б).
Рис 2.2. Окно Обозреватель решений (а) и изображение класса Program (б)
С помощью контекстного меню Добавить_или_Панели_элементов'>Добавить или Панели элементов доба- вим на схему класс Computer. Для этого на панели инструментов выберем пункт Класс (рис 2.3, а) и перетащим мышью в окно Схема классов. В от- крывшемся диалоговом окне Новый класс введем имя Computer (рис. 2.3, б). По умолчанию в нашем проекте будет создан новый файл Computer.cs с авто- матически сгенерированным шаблоном кода класса Computer.
Рис. 2.3. Панель элементов (а) и диалоговое окно Новый класс (б)
Спроектируем теперь его элементы (поля, конструкторы, методы, свой- ства). Выделим на диаграмме изображение класса. Правой кнопкой мыши вы- зовем контекстное меню Добавить (рис. 2.4, а) и выберем требуемый элемент, например, Поле. Введем его имя model на изображении класса (рис. 2.4, б). Можно также воспользоваться панелью Свойства (рис. 2.4, в).
Рис. 2.4. Панель элементов (а), изображение класса (б) и панель Свойства (в)
На панели Свойства можно задавать характеристики каждого элемента. Однако удобнее использовать окно Сведения о классах, в котором в форме таблицы задаются имя, тип, модификатор и другие параметры сразу всех эле- ментов класса (рис. 2.5, а).
Будем создавать необходимые элементы класса Computer в соответствии с рис. 2.5, б и задавать их параметры в соответствии с рис. 2.5, а. Рекомендуем сначала задавать все поля, затем методы и конструкторы. Напомним, что в язы- ке C# конструктор является особым методом c тем же именем, что и класс (в нашем примере Computer), но не имеющим никакого типа (даже void)!
Рис. 2.5. Конечный вид окна Сведения о классах (а) и класса Computer (б)
В результате визуального проектирования в окне программы автоматически генерируются шаблоны элементов, в которые будем вводить программный код. На первом этапе целесообразно все поля задавать общедоступными (public), и лишь убедившись в отсутствии ошибок, инкапсулировать поля, настроив огра- ничения доступа в методах set – get. Окончательный вид программы:
Достарыңызбен бөлісу: |