Описание программного кода классов

Анализ поставленной задачи: функциональность разрабатываемой библиотеки и назначение ее использования.

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

· ФИО,

· Дата рождения,

· Водительское удостоверение,

· Дату выдачи,

· Вин номер собственного авто если оно есть.

Объекты класса Водитель должны иметь методы:

· вывод информации,

· проверка инициалов Фамилии,

· возможность иметь водительское удостоверение.

Объекты класса Автомобиль должны иметь такие поля:

· название,

· кол-во колёс,

· мощность двигателя,

· Привод.

    Объекты класса Автомобиль должны иметь методы:

· добавление нового автомобиля в базу данных,

· сортировка пользователем,

· возможность редактировать, добавлять или удалять автомобиль в каталоге,

· старт аренды,

· получение информации о автомобиле.

Для работы с этими объектами необходимо создать класс «Транспорт», в котором будут находиться коллекции со всеми занесёнными и созданными автомобилями. Также нужно создать и методы для работы с коллекциями: добавление, удаление пользователя автомобиля, передачи наших коллекций другим классам.

В классах описать следующие элементы:

· Поля, в том числе статические и константы;

· Индексаторы для удобства работы с внутренними коллекциями или массивами класса;

· Конструкторы с параметрами и конструкторы по умолчанию;

· Свойства для получения значений важных данных при выводе какого-либо элемента из коллекции в список.

· Методы для обработки действий пользователя при создании, добавлении, удалении элементов класса пользователь или же класса автомобиля.

Диаграмма классов.

Описание программного кода классов.

 

В абстрактном классе Vehicle созданы перегруженные конструкторы, вышеописанные поля, такие методы: ToString, VehicleCard, Motorcyle

Метод ToString возвращает значение.

Метод VehicleCard перегруженный.

Метод Motorcyle. конструктор класса мотоцикл, который берет значения из класса Vehicle.

 

Класс Transport хранит в себе типы автомобилей и коллекцию всех классов. Также в нем хранится значение равное количеству созданных подарков. В нем присутствуют такие методы: addGift, addNewNote, findElement, GetGift, GetGifts, GetSweetness, GetSweetnesses, removeGift, send, sortSelectGift.

Метод addGift добавляет в коллекцию новый каталог автомобиля.

Метод findElement ищет и выводит на экран элемент, соответствующий заданному диапазону.

Метод GetGft возвращает автомобиль из коллекции.

Метод GetGifts возвращает коллекцию классов.

Метод GetTransport возвращает название автомобиля из коллекции созданных.

Метод removeGift удаляет из коллекции подарок по переданному индексу.

Метод send вызывает у всех объектов интерфейса ISent метод toSend который выводит информацию об отправление в richTextBox.

Метод sortSelectGift вызывает метод.

 

Класс Gift хранит в себе значения адреса, коллекцию автомобилей, флаг показывающий дополнительный пакет, максимальную комплектацию  и количество элементов в коллекции. Методы: deleteElement, getComposition, getMaxSize, getSize, showInfo.

Метод deleteElement удаляет элемент из коллекции.

Метод getComposition возвращает коллекцию автомобилей.

Метод getMaxSize возвращает максимальную комплектацию.

Метод getSize возвращает текущий.

Метод showInfo возвращает информацию об объекте.

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: