Skip to content

stdimensiy/GeekBrains_Course_JavaCoreForAndroid_HW_Lesson_5

Repository files navigation

GeekBrains_Course_JavaCoreForAndroid_HW_Lesson_5


Домашняя работа к занятию №5

Студента GeekBrains Веремеенко Дмитрия
Факультет: Android-разработки
Курс: Java Core для Android

Задание:


  • Задача №1. Создать классы Собака и Кот с наследованием от класса Животное.
  • Задача №2. Все животные могут бежать и плыть. В качестве параметра каждому методу передается длина препятствия. Результатом выполнения действия будет печать в консоль. (Например, dogBobik.run(150); -> 'Бобик пробежал 150 м.');.
  • Задача №3. У каждого животного есть ограничения на действия (бег: кот 200 м., собака 500 м.; плавание: кот не умеет плавать, собака 10 м.).
  • Задача №4. Добавить подсчет созданных котов, собак и животных.

Отчет о выполнении:


✔️ Задача №1. Задание выполнено. Классы "Собака", "Кот" и "Животное" созданы. Объявлены и переменные (поля), созданы методы конструкторов, несколько геттеров. Попытался самостоятельно разобраться с клонированием. Получиться - получилось, понимание пока на уровне (разобрал -> собрал -> работает). Пример нашел в интернете, перегрузку методов клонирования допилил сам, там все просто, догадаться было несложно. Немного поиграл с toString и клонированием.
✔️ Задача №2. Задание выполнено. Поля характеристик сделал int. Добавил несколько дополнительных. Поэкспериментировал. В финальной версии лишние пока поля классов убирать не стал. Изначально поля классов и методы разрабатывал в дочерних классах, затем, что можно было перенес в родительский класс, чем существенно облегчил дочерние классы.
✔️ Задача №3. Задание выполнено. Для выполнения данной задачи, поля класса Animal и соответственно дочерних классов Cat и Dog сделаны int фактически отражающими возможность выполнения конкретного действия в абсолютных единицах (для примера разумеется). У части объектов данные заносятся в поля в момент создания при помощи конструктора. У клонируемых объектов часть данных модифицируется в процессе клонирования. Причем режим модификации данных разный и выбирается непосредственно при вызове.
✔️ Задача №4. Задание выполнено. Подсчет ведется как в классе Animal с использованием статического поля класса count, так и в каждом дочернем классе аналогичным способом. Дополнительно в дочерних классах реализован механизм подсчета клонов. В итоге класс животных выдает общее количество животных как оригинальных, так и клонированных единой цифрой. Классы Собаки и Кошки выдают развернутую информацию сколько оригиналов и сколько клонов было создано.


StDimensiy 09.02.2021

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages