Створимо модель череди корів.У нас буде клас корова і клас череда. Тому що череда складається з корів, то між цими класами буде відношення агрегації. Тобто в класі череда повинна бути поле типу корова, і навіть масив об'єктів класу корова.
Створити клас 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:
Відпрацьовування :