Кошкоинициация

  • 8
  • Недоступна
Эта задача посвящена существам загадочным и прекрасным — котам. Создадим класс Cat и определим для него пять инициализаторов (только имя, то же плюс вес и возраст, только вес и цвет, имя и возраст, вес, цвет, адрес). Коты нам нужны валидные: они не могут существовать без веса, цвета или возраста. А вот безымянные коты, увы, встречаются, как и бездомные.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (254)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Dator15 уровень, Киев
25 June, 15:14
Валидатор не принимает если в методе порядок аргументов не совпадает с задачей. Например (String name, int age) вместо (int age, String name)
B. RIDER9 уровень, Братислава
25 June, 13:23
не могу 10 и 11 условие выполнить
Mikhail10 уровень, Ульяновск
12 June, 14:24
Почему тут тельзя вместо инициализатора конструктор использовать?
max7 уровень
17 June, 08:20
задача на закрепление по инициализаторам, а не кострукторам
Ivan Matveenko22 уровень, Омск
2 June, 16:12
не передавайте 0 по умолчанию...
Cruelz13 уровень, Санкт-Петербург
2 June, 14:04
При попытке передать 0 - вам выдаст ошибку; Нарушая последовательность, т.е. не как в условии - ловите ошибку; Принимать в качестве параметра и инициализировать разные вещи. Да прибудет с вами сила и валерьянка.
Pavel Dyakov10 уровень, Санкт-Петербург
1 June, 15:03
Создаем пять переменных и присваиваем им любые значения, какие хотим ( age =10, color = "epic" и т.д.). В всех initialize так же указываем все пять значений this.name, this.age и прочее. После этого в тех требованиях, где указано "кроме имени или кроме адреса" присваиваем этим переменным null (this.name = null). !!! И не нарушайте очерёдность, все делайте в порядке как указано в требованиях.
Aleksey7 уровень, Ташкент
1 June, 13:39
-Понял, внученька? -Понял, дедушка -Что ты понял, внученька? -Ни хрена ни чего не понял, дедушка. Объясните, чем отличаются метод: метод initialize, принимающий в качестве параметров вес, цвет, от других методов, которые проинициализировались? (1, 2, 3 методы). Сам код записан правильно? Само количество параметров в методе и все переменными класса, которые требуются инициализировать - записаны правильно?
Михаил Никитюк5 уровень, Харьков
11 June, 18:55
я не делал дополнительные переменные age && weight создал переменную и сразу присвоил значение, и еще в первом инициализаторе стоит переменная адреса, а по условию он должен быть только в последнем
max7 уровень
12 June, 07:17
Кот не может ничего не весить. То же касается возраста и цвета. А вот имени может и не быть (null). То же касается адреса: null. Из-за этих строк так прописал везде
Михаил Никитюк5 уровень, Харьков
12 June, 19:44
ну правильно же, кот не может нечего не весить , значит нам сразу нужно присвоить значение без всяких дополнительных переменных, я так делал, решил с первого раза, всего 5 переменных.
Ilya Kuzmin8 уровень, Шанхай
31 May, 09:10
Понимание как решать задачу пришло сразу так как все что решалось в 5 лекций это однотипщина, львиная доля времени ушла на писанину. Позвольте поделиться ходом мыслей: 1) Начнем с того что все мы понимаем как диктуются условия для задач в нашем любимом курсе, поэтому сразу смело смотрим *Требования:* так как выполнение задачи будет согласовано с ними! 2) исходя из пункта 1👆, создаем 5 переменных в классе Cat; (это прописано в требованиях) и им ниче не присваиваем. а зачем ? 3) так как наша задача создать обьект (т.е. инитиализировать его) даже в случае если о нем нет каких то конкретных данных, то при созданий ( инитиализаций) мы должны будем ввести данные которые будут использованы по умолчанию. Согласно заданию это Вес Возраст Цвет. ( то есть мы создаем эти переменные и даем им любые стандартные значения на свое усмотрение ) то есть если нам не ясно какого цвета кошка то по умолчанию мы присвоим черный цвет. String defaultColor = "black"; то же самое с возрастом и весом. итого после всего в классе у нас получилось 5 + 3 = 8 переменных. на этом создание переменных закончено, теперь самая муть. 4) Нам надо создать 5 инициализаторов (то бишь конструкторов, или я люблю это называть трафарет) . КАКИЕ*?! СРАЗУ СМОТРИ ТРЕБОВАНИЯ! и ПО НИМ СОЗДАВАЙ! допустим 1 иниатилизатор говорит нам: * У класса должен быть метод initialize, принимающий в качестве параметра имя, но инициализирующий все переменные класса, кроме адреса.* хмм...... ЧТО мы делаем ? ПРАВИЛЬНО! В этом инитиализаторе прописываем чтобы вводимое ИМЯ при созданий объекта присваивалось объекту this.name=name; , а ВСЕ ОСТАЛЬНЫЕ параметры КРОМЕ АДРЕСА брались из тех что мы ранее ввели как по умолчанию так как по ним у нас нет других данных. то есть this.color = defaultColor ; (см пункт 3 👆) как быть с адресом ? а мы его и не прописываем так как он не нужен. ПОНЯТНО ?) думаю дальше все ясно. удачи.
Михаил Никитюк5 уровень, Харьков
11 June, 19:07
не сильно ясно зачем нам 3 лишние переменные если при создании мы можем сразу указать дефолтные значения String color = black; тем более в условии это прописано "Например, если вес неизвестен, то нужно указать какой-нибудь средний вес. Кот не может ничего не весить. То же касается возраста и цвета." я решил так с первого раза!
Aleksey7 уровень, Ташкент
30 May, 15:29
Простите, не пойму, что надо сделать, чтобы: Убедись, что метод initialize инициализирует переменные класса переданными значениями.
Виталий9 уровень, Ивано-Франковск
31 May, 11:44
У меня было то же, посмотри, что-бы переменные в параметрах инициализатора шли по порядку (имя, вес, возраст) - (String name, int weight, int age), меняешь их местами валидатор дает ошибку)
Сергей12 уровень, Санкт-Петербург
28 May, 21:29
initialize это не что иное как конструктор только в виде метода? а как понять когда использовать конструктор а когда этот метод? типа метод можно вызвать и у других объектов(тогда на кой х.. сеттеры) а конструктор работает на определенный объект? помогите пожалуйста разобраться