Назад
Уперед
Зміст
Відношення агрегації
Колекції
Приклад
Змінимо модель череди корів. Додамо в клас череда поле, яке буде містити загальна кількість корму, виділеного череді.
Будемо вважати, що кожній корові потрібно в день певна і різна кількість корму.
Ухвалювати або не ухвалювати корову в череду, будемо вирішувати виходячи з того, вистачить чи на неї загального корму.
Тому кількість місць у череді нам заздалегідь невідомо і масив об'єктів використовувати не можна.
У цьому випадку зручніше використовувати не масив об'єктів, а колекцію об'єктів.
Створити клас Cow – корова, що містить:
- Поле name -кличка;
- Поле nadoy-надій у літрах;
- Поле eda – потрібна кількість їжі;
- Конструктор, що привласнює значення цим полям;
- Властивості тільки для читання всіх полів;
- Метод Tostr, що формує рядок значень полів об'єкта з коментарями.
Створити клас Stado – череда, що містить:
- Закрите поле List< Cow > cows - колекція з декількох корів, об'єктів класу Cow;
- Закрите поле all – кількість корму, виділене всій череді;
- Конструктор, з одним параметром all. Параметр all - кількість їжі на всю череду. Конструктор створює також об'єкт - колекцію cows .
- Метод Zap – одержує в якості параметра корову x і додає її в колекцію cows. Метод повертає значення true, якщо на цю корову вистачає корми й false, якщо корму не вистачає. Якщо корова в череду прийнята, метод також зменшує кількість загального корму (значення поля all) на кількість корму потрібне даної корові (поле x.Eda).
- Метод Obnadoy ( без параметрів) – загальний надій, що обчислює, череди.
- Метод Tostr ( без параметрів) формуючий рядок значень полів усіх об'єктів череди з коментарями.
У методі Main:
- Випадковим образом одержати кількість їжі, виділене череді і вивести його на екран.
- Створити череда - об'єкт класу Stado з отриманим кормом у якості параметра;
- У циклі, поки вистачає корми:
- Одержати випадковим образом надій корови і кількість необхідного їй корму;
- Створити корову - об'єкт класу Cow з отриманими значеннями в якості параметрів і іменами: корова 0, корова 1, …
- За допомогою методу Zap спробувати помістити корову в череду.
- За допомогою методу Tostr вивести інформацію про кожну корову.
- За допомогою методу Tostr показати стан створеного череди
- За допомогою методу Obnadoy обчислити загальний надій череди
Відпрацьовування:
Опис класу Cow
Опис класу Stado
Метод Main класу Program
Назад
Уперед
Зміст