- •Анотація
- •1. Постановка задачі
- •2. Основні поняття та засоби реалізації
- •2.1 Основні поняття
- •2.2 Засоби реалізації
- •3. Ієрархія класів і делегати
- •3.1 Список класів
- •3.2 Інтерфейс Date
- •3.3 Клас Person
- •3.4 Клас Author
- •3.5 Інтерфейс Subject
- •3.6 Клас Thesis
- •3.7 Клас Abstract
- •3.8 Клас File
- •3.9 Клас SerializeClass
- •3.10 Делегати
- •4. Результати роботи
- •Висновки
- •Список використаних джерел
- •Додаток 1
2.2 Засоби реалізації
Для написання даного програмного продукту було обрано мову програмування C#. Цей вибір обумовлюється як зручністю даної мови, так і її актуальністю в наш час.
С #— об'єктно-орієнтована мова програмування з безпечною системою типізації для платформи .NET. Мова має строгу статичну типізацію, підтримує поліморфізм, перевантаження операторів, вказівники на функції-члени класів, атрибути, події, властивості, винятки, коментарі у форматі XML.
На відміну від традиційних поглядів, коли програму розглядали як набір підпрограм, або як перелік інструкцій комп'ютеру, ООП програми можна вважати сукупністю об'єктів. Відповідно до парадигми об'єктно-орієнтованого програмування, кожний об'єкт здатний отримувати повідомлення, обробляти дані, та надсилати повідомлення іншим об'єктам. Кожен об'єкт — своєрідний незалежний автомат з окремим призначенням та відповідальністю.
Для виконання поставленої задачі підходить мова програмування С# своєю простотою і ефективністю, можливістю створення власних класів і використання вже існуючих.
3. Ієрархія класів і делегати
3.1 Список класів
Наша система (рисунок 3.1) складається з розроблених нами класів та Person, Author, Thesis, Abstract, File, Program та інтерфейcів Date, Subject. При цьому Date реалізуєьбся в класі Person і Abstract. Клас Person наслідується в класі Author . Список авторів класу Author агрегується в Thesis .Список тем класу Thesis агрегуються в класі Abstract.Клас File містить методи для зчитування даних з бінарного файлу, запис в файл(бінарний, текстовий). Клас Program містить метод static void Main(). Цей метод автоматично запускається при запуску програми і в ньому запускається на виконання меню, в якому представлені команди: Change object(Зміни об’єкту), Show object(Показати об’єкт), Write to file(Запис до файлу), Read from file(Зчитування з файлу), Write to binary file(Запис до бінарного файлу), Read from binary file(Зчитування з бінарного файлу), Static function(Статична функція), Search(Знайти об’єкт), Exit(Вихід). В результаті реалізується користувацький інтерфейс за допомогою якого користувач може зручно маніпулювати програмою .
Рис. 1 Класи та інтерфейси
3.2 Інтерфейс Date
Цей інтерфейс представляє точну дату. В проекті він використовується для представлення визначення Дати народження, дати подання тез та дати випуску. Поля: int year – кількість років, int month – кількість місяців, int day – кількість днів.
Властивості: для всіх полів було створено звичайні властивості, але з модифікатором доступу private
Методи:
void Display () – в наступних класах буде перевизначений для виведення відповідних полів.
Рис 2. Інтерфейс Date
3.3 Клас Person
Цей клас представляє Особу.
Поля: int day - день народження int month – місяць народження, int year –рік народження , string name - ім’я особи, string surname – прізвище особи. Для кожного поля передбачені властивості. Для властивостей полів day, month, year – передбачені виключні ситуації.
Конструктори: public Person(int dayOfBirth, int monthOfBirth, int yearOfBirth, string name, string surname)– встановлює дату народження, і’мя та прізвище особи.
Методи:
public void Display () – виводить на екран рядок який є табличним представленням товару(інформація у вигляді таблиці);
Рис. 3 Клас Person
