- •Анотація
- •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
3.8 Клас File
В класі File реалізовані методи запису та зчитування з бінарного та звичайного файлів.
Методи:
public static void WriteFile(Abstract[] abstractClass) – статичний метод, що відповідає за запис полів об’єкта до звичайного файлу.
public static void ReadFile() – статичний метод, що відповідає за зчитування полів об’єкта зі звичайного файлу.
public static void WriteBinaryFile(Abstract[] abstractList) – статичний метод, що відповідає за запис полів об’єкта до бінарного файлу засобами серіалізації.
public static void ReadBinaryFile()– статичний метод, що відповідає за запис полів об’єкта до бінарного файлу засобами серіалізації.
Рис 3.8 Клас File
3.9 Клас SerializeClass
Цей клас містить методи для серіалізації .
Поля:
private object CurrentType – тип поточного файлу.
private string CurrentFile – назва поточного файлу
FileStream FS – файловий потік.
Конструктори:
public SerializeClass(string s, object t)– конструктор, що ініціалізує тип та назву файла.
Методи:
Конструктори:
public void Serialize() – записує інформацію в бінарний файл
public object Deserialize() – зчитує інформацію з бінарного файл
public void Close() – завершує роботу з файлом
3.10 Делегати
В цій курсовій роботі використано делегати для статистичних функцій, для виводу на екран і делегати для забезпечення зв'язку між об'єктами за типом «джерело - спостерігач». Діаграми делегатів наведені на рисунку 3.9.
Делегат для забезпечення зв'язку між об'єктами за типом «джерело - спостерігач» має вигляд public delegate void delegateObserver(rosterOfOperation list) в цей делегат додаються методи які приймають об’єкт типу rosterOfOperation вони реагують на введення нового елемента, тобто при введенні нового обєкта делегат фіксує дію, та відповідно до цього виконує певний метод, а сааме виведення на екран.
Делегат для підрахунку статичних функцій:
public delegate int MasObject(Abstract[] abstactClass);
Цей делегат дозволяють передавати в статистичну функцію (яка підраховує кількість робіт, тез та авторів.
Делегат для виводу на екран має вигляд public delegate void OutToDisplay(int absList, int tesList, int autList) Цей делегат дозволяє передати в функцію для виводу на екран. Функція для виводу на екран виведе на екран об’єкт певного класу.
4. Результати роботи
Рисунок 4.1 – Основне меню
Рисунок 4.2 – Вивід в табличному вигляді
Рисунок 4.3 – Делегат для виведення на екран та статистичні функції
Рисунок 4.4 – Запис до бінарного файлу
Висновки
Під час розробки програми мовою С# в середовищі Visual Studio 2012 реалізовано ієрархію класів яка є моделлю реальних об’єктів. Було вдосконалено навички побудови об’єктно-орієнтованих програм.
Проведено аналіз можливостей програмної мови C# для оптимальної реалізації ієрархічної моделі класів, що відображає реальну модель реальних об’єктів.
Набуто навички побудови зв’язків між класами розроблюваної моделі.
Обґрунтовано побудову моделі об’єкту.
Розроблено програмну систему для розв’язання поставленої задачі з допомогою заданої моделі реальних об’єктів.
Проведено перевірку роботи програми по кожному пункту меню.
Доведено коректність роботи програмної системи.
Здобуто досвід проектування та конструювання програмних продуктів.
