Створимо модель череди корів.У нас буде клас корова і клас череда. Тому що череда складається з корів, то між цими класами буде відношення агрегації. Тобто в класі череда повинна бути поле типу корова, і навіть масив об'єктів класу корова.
Створити клас Cow – корова, що містить:
Створити клас Stado – череда, що містить:
У методі Main:
Відпрацьовування:

Опис класу Cow


Опис класу Stado
Об'єкти (корови) є посилальними типами. Порожнє значення для такого типу це null.
Конструктор

Метод додавання корови в череду
Метод розміщає корову в череді і повертає true, якщо в череді місце для корови найшлося, і false, якщо місця не найшлося.
Наш масив корів буде містити посилання на ті місця в пам'яті, де розташовані поля об'єкта (корови).

Методи видалення i-й корови і обчислення загального надою

Метод, що показує стан череди

Метод Main класу Program










Ускладнимо модель череди корів. Додамо в клас череда поле, яке буде містити загальну кількість корму, виділеного череді.
Будемо вважати, що кожній корові потрібно в день 20 кг корму.
Ухвалювати або не ухвалювати корову в череду, будемо вирішувати не тільки виходячи з кількості місць у череді, але і виходячи з того, чи вистачить їй корму.
Створювати корів будемо з випадковим надоєм.
Додамо метод, який знаходить у череді корову з мінімальним надоєм.
Будемо видаляти із череди саме цю корову і ухвалювати на її місце іншу.
Зробимо наступні зміни:
Властивість тільки для читання поля «кличка»;

Поле korm, у якому втримується вага корму, необхідного череді.

Змінимо конструктор. У ньому буде два параметри: кількість місць у череді і вага корму, виділюваний череді в день.

Змінимо метод Zap, умова розміщення корови в череді.

Змінимо метод Tostr - висновок стану череди. Додамо рядок, скільки залишилося корму.

Додамо метод Min, без параметрів індекс, що повертає, корови з мінімальним надоєм.

Створити масив із шести корів з випадковим надоєм і кличками: Корова-0, Корова-1, Корова-2…). Вивести на екран.


Cоздать череду s з випадковою кількістю місць і корму


За допомогою методу Zap спробувати розмістити всіх корів у череду. Помістяться не всі.
За допомогою методів Tostr і Obnadoy показати стан створеної череди


За допомогою методу Min знайти в череді корову з мінімальним надоєм і за допомогою методу Del вилучити її із череди.
Показати стан череди.


Спробуємо додати в череду інших корів. Вивести клички корів, які не помістилися в череду.
Показати новий стан череди.


Відпрацьовування 1:

Відпрацьовування :
