Конструируем котиков

  • 4
  • Недоступна
Создавайте валидных котов нестандартным для природы способом — с помощью конструкторов. Создаем класс Cat и прописываем для него пять разных конструкторов. Самый простой конструктор содержит одно поле — имя. Следующий — имя и возраст, а к третьему добавляем вес. А об остальных — читайте в условии задачи.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (146)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Dffay
Уровень 9
17 февраля, 06:40
Я конечно решил с 15 попытки, но возник вопрос. Нужно чтобы все параметры были проинициализированы именно в том порядке в каком указано в задании. В реальности конструктор так же работает? То есть нельзя писать например, если поля параметров конструктора не по порядку? public Cat(int weight, String color){ this.age = 1; this.weight = weight; this.color = color; } public Cat(String color, int weight){ this.age = 1; this.weight = weight; this.color = color; }
Kairat Tubalykov
Уровень 11
17 сентября 2021, 18:15
В условии не сказано, что цвет не может быть null
Mr.Shatalin
Уровень 9, Санкт-Петербург, Россия
22 сентября 2021, 12:15
Сказано что имени может не быть как и адреса ,а вот цвета не быть не может .То есть (null) не может быть цвет. Цвет есть априори .
Игорь
Уровень 35, Тверь
28 июля 2021, 06:10
Я вот читаю и не пойму, где то я уже это видел. и да https://javarush.ru/tasks/com.javarush.task.task05.task0510. Тоже самое только с инициализаторами, не уж то фантазии не хватило на конструкторы и том эта медиум а та хард))))
Павел Соловьёв докер - механизатор в Порт
19 апреля 2021, 18:40
выполнил задание согласно требований проигнорировав это условие
Задача конструктора - сделать объект валидным.
Например, если вес не известен, то нужно указать какой-нибудь средний вес.
Кот не может ничего не весить.
То же касательно возраста. А вот имени может и не быть (null). То же касается адреса: null.
задача засчитана , хз что от меня хотели , но всех все устроило .
Сергей Коровин
Уровень 7
2 апреля 2021, 07:09
Очень интересная задача, признаться честно зашел сюда и вроде все понял, остаось бы в голове все , спасибо ребятам за разЪяснения, очень полезно сюда залезать. П.С ЧИТАЙТЕ УСЛОВИЕ (ПОРЯДОК НАПИСАНИЯ КОДА!!!!) очень погорел на этом
Oleksandr Frontend Developer
12 февраля 2021, 18:10
1. Суть роботи конструктора (з моєї точки зору): при створенні об'єкта перевіряється тип даних та їх кількість для аргументів які передаються і викликається відповідних конструктор. Наприклад, ви передали лише [String] name в new Cat("Tom"), буде викликано конструктор в якому вказано що є лише 1 аргумент із типом String. Якщо передати [int] weight, [String] color то буде викликатись [public Cat(int weight, String color) {}] 2. Дефолтні значення аля String address = null; можна вказати одразу при оголошенні змінних, тоді не доведеться кожного разу робити це в конструкторах. Суть в тому, що ці значення будуть використовуватись лише у випадку якщо ви не передали його в конструктор. 3. null як дефолтне значення теж буде коректно передаватись і це відноситься саме до "А вот имени может и не быть (null)"
Wollene
Уровень 7, Львов, Украина
16 февраля 2021, 09:42
Дякую за пояснення. Завдяки Вам вирішив задачу аналогічну і з ініціалізацією, і з конструкторами.
Антон
Уровень 6, Киев
12 мая 2021, 12:06
дяка за роз'яснення.
iDSDDR
Уровень 10, Молдова
29 января 2021, 23:01
внимание! для верного решения вам необходимо так же указать рандомный цвет везде, где это не прописанно в параметрах конструктора (3 раза). пока это не будет сделано, проверка не пройдет.
Никита
Уровень 8
18 апреля 2021, 16:37
это не обязательно делать в каждом конструкторе, можно просто один раз в начале при объявлении переменных
Flexo Bending Unit #3370318
25 января 2021, 19:40
хороша задача, на условие, практически один в один скопипащенное, у нас есть готовый ответ: перенести решение из задачи про инициализацию котов (почему-то имеющую статус сложной кстати, когда эта - средняя) и заменить void initialize на cat при объявлении конструктора, делов-то
Rodion
Уровень 20, Munich, Germany
21 января 2021, 21:05
Вот примерно так: public Cat (тип параметр) { this.параметр = параметр; возраст = значение; вес = значение; цвет= "не указан"; }
Иван
Уровень 10, Хабаровск, Россия
13 января 2021, 09:01
Мда, чтоб решить пришлось заглядывать сюда, а чтоб понять пришлось вникать и переписывать правильное решение. Самое главное, пока понял. Дай бог запомнить.