- •Анотація
- •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.4 Клас Author
Цей клас описує автора. В програмі використовується для представлення авторів .
Поля: String autorPosition– посада продавця. Для нього створена властивість AuthorPosition
Конструктори:
public Author(int day, int month, int year, string name, string surname, Kurs_2.position posit): base(day, month, year, name, surname) –ініціалізує поля базового класу та поле посади.
Методи:
public override void Display()– виводить на екран інформацію про персону та посаду авторів
3.5 Інтерфейс Subject
Цей інтерфейс представляє собою список тем робіт
Властивості:
Для кожнї теми створена своя автоматична властивість типу String: Topic1, Topic2, Topic3, Topic4.
Методи:
void Display () – буде перевизначений в наступних класах для виводу тем робіт.
3.6 Клас Thesis
Цей клас представляє клас тезу. Наслідує інтерфейси Date, Subject і агрегує список авторів класу Author.
Поля: Author[] authorList- список авторів
string title –заголовок тези
int dayPod – день подання,
int monthPod – місяць подання,
int yearPod – рік подання,
string topic1 – перша тема Рис 3.6 Клас Thesis
string topic2 - друга тема
string topic3 – третя тема
string topic4 – четверта тема
Також в класі предщставлені властивості: public Author[] AuthorList, public string Title, public string Topic1, public string Topic2, public string Topic3, public string Topic4, public int Day, public int Month, public int Year,
Конструктори:
public Thesis(string title, string topic1, string topic2, string topic3, string topic4, int dayOfPodannya, int monthOfPodannya, int yearOfPodannya, Author[] authorList) – конструктор, що ініціалізує відповідні поля класу.
Методи:
public Author this[int index] – індексатор, що регулює розмір списку авторів
public void Display() – виводить відповідні поля.
3.7 Клас Abstract
Цей клас представляє список тез. Наслідує інтерфейси Date та агрегує список тез класу Thesis.
Поля:
private Thesis[] theseList – список тез, агрегованих з базового класу,
private int dayVip – день відправлення списку;
private int monthVip – місяць відправлення списку;
private int yearVip – рік відправлення списку;
private int numberOfPages;
Властивості: В класі створені відповідні до полів властивості Thesis[] TheseList, int Day, int Month, int Year int NumberOfPages.
Конструктори: public Abstract(int numberOfPages, Thesis[] theseList, int dayVip, int monthVip, int yearVip) – конструктор, що ініціалізує поля класу відповідними значеннями
Методи:
public static int AbsList(Abstract[] abstractList) – статичний метод, що повертає повертає кількість робіт.
public static int TesList(Abstract[] abstractList) - статичний метод, що повертає повертає кількість тез.
public static int AutList(Abstract[] abstractList) - статичний метод, що повертає повертає кількість авторів.
public static Abstract operator +(Abstract abs1, Abstract abs2) – перевантажений оператор +;
public static bool operator >(Abstract thsc1, Abstract thsc2) - перевантажений оператор >;
public static bool operator <(Abstract thsc1, Abstract thsc2) - перевантажений оператор <;
public static bool operator true(Abstract thsc) - перевантажений логічний оператор true;
public static bool operator false(Abstract thsc) - перевантажений логічний оператор false;
public Thesis this[int index] – індексатор тез;
public void Display() – процедура виводу на экран;
Рис 3.7 Клас Abstract
