как ведь сигнатура метода должны быть точно таким же как и в интерфейсе тип возвращаемого значения DBObject а в классе User как это работает?
Long_byte
60 уровень
как
Обсуждается
Комментарии (1)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
hidden #3303140
11 февраля 2024, 07:42
В этом и заключается полиморфизм, одно является подтипом другого. Ты обозначил, что метод должен возвращать тип DBObject, и это значит, что он может вернуть любой DBObject, хоть User, хоть что бы то ни было ещё. Ведь User реализует или наследуется от этого типа.
Точно так же ты пишешь, напримерсохраняя объект в переменную типа интерфейса, который реализован этим объектом.
+1