Знакомство с ООП
Знакомство с ООП
- 18
Недоступен
Комментарии (18)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Anonymous #3419780
7 сентября, 13:35
С 50й попыточки!!!!
0
Efr
11 августа 2023, 08:29
Отвратительная формулировка вопросов с "выберите неверное утверждение"
+1
Ислам
5 июня 2023, 19:04
Nice
+2
Валерий Backend Developer в Mriya Resort&Spa
10 октября 2021, 14:56
Можно ли в переменную класса-наследника присвоить ссылку на объекта базового класса?
Ответил, что можно при условии, что нужно выполнить явный каст. Опрос показал не верный ответ...
В IDE проверил, все работает +5
Ada
9 мая 2022, 09:11
Я так понимаю, тут речь об этом:
+2
Kirill
7 марта, 09:09
В рантайме твой код упадёт с исключением ClassCastException.
0
Anonymous #2539565
10 июля 2021, 17:58
исправьте во втором вопросе, в варианте ответа:
Да, но нуЖно явно указать приведение типа (пропущена буква "ж").
В шестом вопросе так же неверное слово - Создать объекты абстрактного класса...
0
София Сафонцева
4 июля 2021, 18:09
Подскажите, для чего используется переменная super?
0
Edil Kalmamatov
22 июня 2022, 12:40
Для вызова родительского конструктора, методов либо обращение к родительским параметрам, измененным в потомке.
Вызов родительского конструктора полезен для исключения дублирования действий. Пример:
Без использования super пришлось бы заново описывать присвоение a и b.
Второй случай, когда нужно обратиться к параметру родительского класса, например при затирании его в потомке
0
K.
21 июня 2021, 15:26
В шестом вопросе опечатка: абсстрктного вместо абстрактного
0
Владислав Журавский веб программист в фриланс
16 июня 2021, 08:25
И почему в переменную класса-наследника нельзя присвоить ссылку на объекта базового класса?
Я могу создать базовый класс Cat и класс-наследник Tiger в классе. В классе Tiger создаю переменную с типом Cat и спокойно передаю туда ссылка на объект класса-наследника
+2
K.
12 июля 2021, 05:34
Так вы сами пишете "В классе Tiger создаю переменную с типом Cat и спокойно передаю туда ссылка на объект класса-наследника". А в вопросе спрашивается, а в вопросе "Можно ли в переменную класса-наследника присвоить ссылку на объект базового класса?"
+1
Anonymous #2749315 Frontend Developer
31 августа 2021, 16:51
На "слух", действительно, бывает сложно понять суть вопроса. Открываем IDE и сразу становится всё понятно:
// Tiger.java
class Cat {}
public class Tiger extends Cat {
public static void main(String[] args) {
System.out.println("Поехали...");
Tiger tiger = new Tiger(); // переменная наследника
Cat cat1 = new Cat(); // переменная базового класса
Cat cat2 = new Cat(); // переменная базового класса
cat1 = tiger; // так можно
// tiger = cat2; // если раскомментировать, то будет ошибка компиляции
tiger = (Tiger) cat2; // ошибка во время исполнения
// (строка "...приехали." не выведется, хоть код и скомпилируется)
System.out.println("...приехали.");
}
}
+2
Владислав Журавский веб программист в фриланс
16 июня 2021, 08:22
Что вообще не так с вопросом "Что не может дать инкапсуляция"?
Как по мне ответ про валидацию внутреннего состояния объекта и ответ с про контроль устанавливаемых значений кажется верным, но это не так
+2
Mick
25 августа 2021, 11:03
Все с ним как раз так. В этом вопросе нужно выбрать, что НЕ может дать инкапсуляция. Первые 3 варианта она может дать, а 4-й - нет, по этому 4-й и будет правильным ответом. Так что вам правльно кажется, что и валидация состояния и контроль значений подходят))
+1
Валерий Backend Developer в Mriya Resort&Spa
10 октября 2021, 15:04
Согласен, варианты ответа какие-то воздушные и расплывчатые. В ступор вводят.
Типо ошибка компиляции...
Или внутренняя реализация класса... что вообще? причем здесь это.
0
девиз моего образования:"Всё херня давай по новой" Java Developer в Сбер
1 мая 2021, 12:42
Что нельзя делать с интерфейсом? (выберите неверное утверждение)
Погуглил и вроде бы можно создавать анонимный объект класса. Там есть new interfaceName()
вот здесь обсуждение этого случая
Мне кажется некорректным вопрос. Ну и опечаток тьма, не аккуратно..(
0
Edil Kalmamatov
22 июня 2022, 12:57
Вопрос корректен.
Вы правильно написали насчет анонимных классов. Анонимный класс != интерфейс. Такой вызов предполагает описания задекларированных методов интерфейса в месте инициализации. Т.е. создается не экземпляр интерфейса, а экземпляр анонимного класса, наследующего интерфейс. Поэтому нельзя просто создать:
Должно быть описано тело класса:
+1