Создавайте валидных котов нестандартным для природы способом — с помощью конструкторов. Создаем класс Cat и прописываем для него пять разных конструкторов. Самый простой конструктор содержит одно поле — имя. Следующий — имя и возраст, а к третьему добавляем вес. А об остальных — читайте в условии задачи.
Конструируем котиков
- 4
Недоступна
Комментарии (146)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Dffay
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;
}
0
Kairat Tubalykov
17 сентября 2021, 18:15
В условии не сказано, что цвет не может быть null
+1
Mr.Shatalin
22 сентября 2021, 12:15
Сказано что имени может не быть как и адреса ,а вот цвета не быть не может .То есть (null) не может быть цвет. Цвет есть априори .
0
Игорь
28 июля 2021, 06:10
Я вот читаю и не пойму, где то я уже это видел. и да https://javarush.ru/tasks/com.javarush.task.task05.task0510. Тоже самое только с инициализаторами, не уж то фантазии не хватило на конструкторы и том эта медиум а та хард))))
0
Павел Соловьёв докер - механизатор в Порт
19 апреля 2021, 18:40
выполнил задание согласно требований проигнорировав это условие
задача засчитана , хз что от меня хотели , но всех все устроило . 0
Сергей Коровин
2 апреля 2021, 07:09
Очень интересная задача, признаться честно зашел сюда и вроде все понял, остаось бы в голове все ,
спасибо ребятам за разЪяснения, очень полезно сюда залезать.
П.С ЧИТАЙТЕ УСЛОВИЕ (ПОРЯДОК НАПИСАНИЯ КОДА!!!!)
очень погорел на этом
0
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)"
+8
Wollene
16 февраля 2021, 09:42
Дякую за пояснення. Завдяки Вам вирішив задачу аналогічну і з ініціалізацією, і з конструкторами.
+4
Антон
12 мая 2021, 12:06
дяка за роз'яснення.
0
iDSDDR
29 января 2021, 23:01
внимание! для верного решения вам необходимо так же указать рандомный цвет везде, где это не прописанно в параметрах конструктора (3 раза). пока это не будет сделано, проверка не пройдет.
+2
Никита
18 апреля 2021, 16:37
это не обязательно делать в каждом конструкторе, можно просто один раз в начале при объявлении переменных
0
Flexo Bending Unit #3370318
25 января 2021, 19:40
хороша задача, на условие, практически один в один скопипащенное, у нас есть готовый ответ: перенести решение из задачи про инициализацию котов (почему-то имеющую статус сложной кстати, когда эта - средняя) и заменить void initialize на cat при объявлении конструктора, делов-то
+1
Rodion
21 января 2021, 21:05
Вот примерно так:
public Cat (тип параметр) {
this.параметр = параметр;
возраст = значение;
вес = значение;
цвет= "не указан";
}
+5
Иван
13 января 2021, 09:01
Мда, чтоб решить пришлось заглядывать сюда, а чтоб понять пришлось вникать и переписывать правильное решение.
Самое главное, пока понял. Дай бог запомнить.
0