Абстрактний базовий клас, що визначає інтерфейс для роботи з колекціями
Детальніше...
#include <AbstractCollection.hpp>
|
| AbstractCollection (std::string_view id, std::string_view name) |
| Конструктор з параметрами
|
|
virtual | ~AbstractCollection ()=default |
| Віртуальний деструктор
|
|
std::string | getId () const noexcept |
| Отримує унікальний ідентифікатор колекції
|
|
std::string | getName () const noexcept |
| Отримує назву колекції
|
|
virtual void | setId (std::string_view newId) noexcept |
| Встановлює новий ідентифікатор колекції
|
|
void | setName (std::string_view newName) noexcept |
| Встановлює нову назву колекції
|
|
virtual void | display () const =0 |
| Відображає повну інформацію про колекцію
|
|
virtual double | calculateStat () const =0 |
| Обчислює статистичні показники колекції
|
|
virtual bool | search (const std::string &keyword) const =0 |
| Виконує пошук у колекції за ключовим словом
|
|
Абстрактний базовий клас, що визначає інтерфейс для роботи з колекціями
Надає базовий функціонал та інтерфейс для всіх похідних колекційних класів. Реалізує наступні ключові можливості:
- Уніфікований доступ до основних властивостей колекції (ID, назва)
- Поліморфізм через віртуальні методи
- Стандартизований інтерфейс для відображення, аналізу та пошуку даних
- Нотатки
- Усі похідні класи повинні реалізувати чисто віртуальні методи:
◆ AbstractCollection()
AbstractCollection::AbstractCollection |
( |
std::string_view |
id, |
|
|
std::string_view |
name |
|
) |
| |
|
inline |
Конструктор з параметрами
- Аргументи
-
id | Унікальний ідентифікатор колекції |
name | Назва колекції для відображення |
◆ ~AbstractCollection()
virtual AbstractCollection::~AbstractCollection |
( |
| ) |
|
|
virtualdefault |
Віртуальний деструктор
Забезпечує коректне видалення об'єктів похідних класів
◆ calculateStat()
virtual double AbstractCollection::calculateStat |
( |
| ) |
const |
|
pure virtual |
Обчислює статистичні показники колекції
- Повертає
- Числове значення статистики (наприклад, середнє, сума тощо) Абстрактний метод, що має бути реалізований у похідних класах
Реалізує в Book і Author.
◆ display()
virtual void AbstractCollection::display |
( |
| ) |
const |
|
pure virtual |
Відображає повну інформацію про колекцію
Виводить у стандартний вивід усю доступну інформацію про колекцію у визначеному форматі Абстрактний метод, що має бути реалізований у похідних класах
Реалізує в Author і Book.
◆ getId()
std::string AbstractCollection::getId |
( |
| ) |
const |
|
inlinenoexcept |
Отримує унікальний ідентифікатор колекції
- Повертає
- Константний рядок з ідентифікатором
◆ getName()
std::string AbstractCollection::getName |
( |
| ) |
const |
|
inlinenoexcept |
Отримує назву колекції
- Повертає
- Константний рядок з назвою колекції
◆ search()
virtual bool AbstractCollection::search |
( |
const std::string & |
keyword | ) |
const |
|
pure virtual |
Виконує пошук у колекції за ключовим словом
- Аргументи
-
- Повертає
- true - якщо знайдено збіг, false - якщо збігів немає Абстрактний метод, що має бути реалізований у похідних класах
Реалізує в Author і Book.
◆ setId()
virtual void AbstractCollection::setId |
( |
std::string_view |
newId | ) |
|
|
inlinevirtualnoexcept |
Встановлює новий ідентифікатор колекції
- Аргументи
-
newId | Новий унікальний ідентифікатор |
◆ setName()
void AbstractCollection::setName |
( |
std::string_view |
newName | ) |
|
|
inlinenoexcept |
Встановлює нову назву колекції
- Аргументи
-
newName | Нова назва для відображення |
Документація цього класу була створена з файлу: