Назад Уперед Зміст

Відношення агрегації

Масиви об'єктів

Приклад 1

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

Створити клас Cow – корова, що містить:

Створити клас Stado – череда, що містить:

У методі Main:

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

Опис класу Cow

Опис класу Stado

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

Конструктор

Метод додавання корови в череду

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

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

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

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

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






Приклад 2

Ускладнимо модель череди корів. Додамо в клас череда поле, яке буде містити загальну кількість корму, виділеного череді.

Будемо вважати, що кожній корові потрібно в день 20 кг корму.

Ухвалювати або не ухвалювати корову в череду, будемо вирішувати не тільки виходячи з кількості місць у череді, але і виходячи з того, чи вистачить їй корму.

Створювати корів будемо з випадковим надоєм.

Додамо метод, який знаходить у череді корову з мінімальним надоєм.

Будемо видаляти із череди саме цю корову і ухвалювати на її місце іншу.

Зробимо наступні зміни:

У клас Cow додамо:

Властивість тільки для читання поля «кличка»;

У клас Stado додамо:

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

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

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

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

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

У методі Main:

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

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

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

За допомогою методів Tostr і Obnadoy показати стан створеної череди


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

Показати стан череди.


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

Показати новий стан череди.


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

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

Назад Уперед Зміст