|
|
|
Метод подставка
|
|||
|---|---|---|---|
|
#18+
В интернете на эту тему нахожу везде один и тот же пример, который не могу запустить из-за того, что не знаю, что импортировать для класса Course. Я чего то не понимаю или пример косячный? http://crypto.pp.ua/2010/06/metody-podstavki-java-klassov/ Из текста я понял, что класс наследник может поменять тип возвращаемого значения у метода, но только вниз по иерархии наследования. В примере разве не наоборот? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2012, 23:10:21 |
|
||
|
Метод подставка
|
|||
|---|---|---|---|
|
#18+
"метод-подставка" я тащусь с этих переводчиков. попробуй догадайся что это было в оригинале. Почему вы исходник не ищите? https://www.google.com.ua/search?q=public+class+BaseCourseHelper+extends+CourseHelper Очевидно же что глава выдрана из какой-то книге и помещена на сайт сомнительного содержания. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2012, 23:17:37 |
|
||
|
Метод подставка
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, я в книге это и встретил...на русском правда она....ну возможно из нее все и берут. Там дословно также ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2012, 23:19:19 |
|
||
|
Метод подставка
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, По этой ссылке не много полезной информации вижу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2012, 23:20:50 |
|
||
|
Метод подставка
|
|||
|---|---|---|---|
|
#18+
redwhite90я в книге это и встретил...на русском правда она....ну возможно из нее все и берут. Там дословно также Вы не поверите. Но в книге есть класс Course. Показать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2012, 23:22:35 |
|
||
|
Метод подставка
|
|||
|---|---|---|---|
|
#18+
javapecker java covariant return types И всё-же. Что такое "подставка"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2012, 23:24:13 |
|
||
|
Метод подставка
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, в моей нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2012, 23:26:21 |
|
||
|
Метод подставка
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, ой, есть... но смысла вопроса это не меняет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2012, 23:27:37 |
|
||
|
Метод подставка
|
|||
|---|---|---|---|
|
#18+
redwhite90Из текста я понял, что класс наследник может поменять тип возвращаемого значения у метода, но только вниз по иерархии наследования. В примере разве не наоборот? Дурацкая книга. Нет правда. Переводчики наизобретали терминов и придумали запутанные пример. BaseCourse extends Course (хотя обычно наборот обзывают) Поэтому BaseCourse ниже по иерархии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2012, 23:27:52 |
|
||
|
Метод подставка
|
|||
|---|---|---|---|
|
#18+
javapecker, прочитал стать, что ты скинул. Убедился, что пример не верен(тот что я в начале запостил) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2012, 23:30:07 |
|
||
|
Метод подставка
|
|||
|---|---|---|---|
|
#18+
redwhite90javapecker, прочитал стать, что ты скинул. Убедился, что пример не верен(тот что я в начале запостил) Выходит запутался ещё больше. Ну, давай распутывайся. Объясни в чем именно не верен пример. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2012, 23:31:40 |
|
||
|
Метод подставка
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, И всё-же. Что такое "подставка"? Если эта книга - джава.промышленное программирование, то авторы русскоязычные. Значит это их термин а не погрешности перевода. Хз чо они имеют ввиду. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2012, 23:34:28 |
|
||
|
Метод подставка
|
|||
|---|---|---|---|
|
#18+
javapeckerЗначит это их термин а не погрешности перевода. Хз чо они имеют ввиду. Ну, как бы, логично что все "термины" уже в английском варианте определены. Поэтому изобретать их не нужно. Только переводить. Или это новое слово в Java-программирование не имеющее аналогов зарубежом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2012, 23:38:23 |
|
||
|
Метод подставка
|
|||
|---|---|---|---|
|
#18+
Отвечаю сам себе "подставка" это bridge :) http://stas-blogspot.blogspot.com/2010/03/java-bridge-methods-explained.html Имеется ввиду наличие синтетического метода, через который и реализован ковариант возвращаемого типа в Java. Нахрена это в книге упоминать вообще без объяснения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2012, 23:45:03 |
|
||
|
Метод подставка
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Есть Класс A, у него Метод method c каким то возвращаемым значением Есть Класс B, у него Метод method c другим возвращаемым значением B наследуется от A => возвращаемое значение метода из класса A должно быть выше по иерархии наследования, чем возвращаемое значение метода из класса B, либо совпадать. Правильно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2012, 23:45:59 |
|
||
|
Метод подставка
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Нахрена это в книге упоминать вообще без объяснения? Чтобы объяснить, надо понять, а там ребята вроде не по этим делам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2012, 23:47:40 |
|
||
|
Метод подставка
|
|||
|---|---|---|---|
|
#18+
BlazkowiczОтвечаю сам себе "подставка" это bridge :) http://stas-blogspot.blogspot.com/2010/03/java-bridge-methods-explained.html Имеется ввиду наличие синтетического метода, через который и реализован ковариант возвращаемого типа в Java. Нахрена это в книге упоминать вообще без объяснения? Жесть, вот никогда бы не допер:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2012, 23:48:35 |
|
||
|
Метод подставка
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, авторИмеется ввиду наличие синтетического метода, через который и реализован ковариант возвращаемого типа в Java. как много непонятных слов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2012, 23:50:23 |
|
||
|
Метод подставка
|
|||
|---|---|---|---|
|
#18+
redwhite90 Есть Класс A, у него Метод method c каким то возвращаемым значением Есть Класс B, у него Метод method c другим возвращаемым значением B наследуется от A => возвращаемое значение метода из класса A должно быть выше ниже по иерархии наследования, чем возвращаемое значение метода из класса B, либо совпадать. Правильно? Откройте самое простое что есть - оригинальные уроки. http://docs.oracle.com/javase/tutorial/java/javaOO/returnvalue.html You can override a method and define it to return a subclass of the original method, like this: Код: java 1. 2. 3. This technique, called covariant return type, means that the return type is allowed to vary in the same direction as the subclass . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2012, 23:50:37 |
|
||
|
Метод подставка
|
|||
|---|---|---|---|
|
#18+
javapeckerЧтобы объяснить, надо понять, а там ребята вроде не по этим делам. Так вот и я о том же. Перевели какую-то статью, в итоге получилось что bridge-method это covariant return type. Т.е. сами не поняли о чем изначально речь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2012, 23:54:12 |
|
||
|
Метод подставка
|
|||
|---|---|---|---|
|
#18+
ох, мой английский..... может по простому, по рабоче-крестьянски напишите в чем я не прав ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2012, 23:59:26 |
|
||
|
Метод подставка
|
|||
|---|---|---|---|
|
#18+
redwhite90как много непонятных слов Синтетические члены класса компилятор создаёт сам. Их можно увидеть через рефлексию или декомпиляцию. Но в исходном коде их нет. Чтобы реализовать возможность заменить возвращаемый тип, компилятор создаёт ещё один метод. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2012, 00:04:03 |
|
||
|
Метод подставка
|
|||
|---|---|---|---|
|
#18+
redwhite90ох, мой английский..... может по простому, по рабоче-крестьянски напишите в чем я не прав B extends A - B ниже по иерархии. (хотя кто как себе представляет, поэтому терминами ниже-выше пользуются очень редко) метод, в B может возращать значение с типом так же ниже по иерархи, переопределяя такой же метод из родительского класса А. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2012, 00:06:22 |
|
||
|
Метод подставка
|
|||
|---|---|---|---|
|
#18+
Blazkowiczredwhite90как много непонятных слов Синтетические члены класса компилятор создаёт сам. Их можно увидеть через рефлексию или декомпиляцию. Но в исходном коде их нет. Чтобы реализовать возможность заменить возвращаемый тип, компилятор создаёт ещё один метод. а какие ограничения накладываются на эти возвращаемые значения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2012, 00:07:44 |
|
||
|
Метод подставка
|
|||
|---|---|---|---|
|
#18+
redwhite90ох, мой английский..... может по простому, по рабоче-крестьянски напишите в чем я не прав Лучше читать, например, свежий перевод Философии Java, а не вот то вот. Ещё лучше читать английский. Грех этого не делать в 21м веке, когда куча словарей и переводчиков в секундном доступе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2012, 00:08:10 |
|
||
|
Метод подставка
|
|||
|---|---|---|---|
|
#18+
redwhite90а какие ограничения накладываются на эти возвращаемые значения? Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2012, 00:14:53 |
|
||
|
Метод подставка
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, авторто это означает, что метод в подклассе может вернуть объект, тип которого является подклассом типа, возвращаемый методом с той же подписью в суперкласса. гугл переводчиком перевел ну и в чем же я не прав то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2012, 00:18:11 |
|
||
|
Метод подставка
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, кстати думаю купить себе в бумажном виде какую нить книгу, многие эту советуют ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2012, 00:18:59 |
|
||
|
Метод подставка
|
|||
|---|---|---|---|
|
#18+
redwhite90, а где вас обвиняли в неправоте? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2012, 00:22:03 |
|
||
|
Метод подставка
|
|||
|---|---|---|---|
|
#18+
redwhite90ну и в чем же я не прав то? 1. В определении ниже-выше. 2. В заявлении что пример в книге не верен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2012, 00:22:45 |
|
||
|
Метод подставка
|
|||
|---|---|---|---|
|
#18+
redwhite90многие эту советуют Филисофию? Или "Промышленое"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2012, 00:23:29 |
|
||
|
Метод подставка
|
|||
|---|---|---|---|
|
#18+
Blazkowiczredwhite90многие эту советуют Филисофию? Или "Промышленое"? философию) ну а мой пост насчёт класс А и класса B правилен? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2012, 00:27:10 |
|
||
|
Метод подставка
|
|||
|---|---|---|---|
|
#18+
redwhite90ну а мой пост насчёт класс А и класса B правилен? Зачеркнуть "выше", написать "ниже". 13504100 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2012, 00:29:59 |
|
||
|
Метод подставка
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, аааа вот Вы о чем. только вот в примере http://www.java-tips.org/java-se-tips/java.lang/covariant-return-types.html оба класса возвращают this. ведь наследник ниже по иерархии, чем предок? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2012, 00:35:19 |
|
||
|
Метод подставка
|
|||
|---|---|---|---|
|
#18+
redwhite90оба класса возвращают this. ведь наследник ниже по иерархии, чем предок? что они возвращают это вообще не важно. Важно как методы объявлены. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2012, 00:43:55 |
|
||
|
Метод подставка
|
|||
|---|---|---|---|
|
#18+
Blazkowiczredwhite90оба класса возвращают this. ведь наследник ниже по иерархии, чем предок? что они возвращают это вообще не важно. Важно как методы объявлены. В конец запутался ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2012, 00:48:10 |
|
||
|
Метод подставка
|
|||
|---|---|---|---|
|
#18+
redwhite90В конец запутался Код: java 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2012, 00:52:47 |
|
||
|
Метод подставка
|
|||
|---|---|---|---|
|
#18+
redwhite90, выше, ниже, я вообще могу слева направо или наискосок нарисовать. Blazkowicz правильно сказал, очень неудачные слова. Метод не обязан возвращать экземпляр того класса в котором он объявлен. Он просто может вести себя так же как класс, по аналогии. Если у класса появляется наследник, то и метод в наследнике может вернуть наследника того что возвращал в суперклассе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2012, 00:54:20 |
|
||
|
Метод подставка
|
|||
|---|---|---|---|
|
#18+
Blazkowiczredwhite90В конец запутался Код: java 1. 2. 3. 4. 5. 6. 7. 8. и какой я должен сделать вывод? Не могли бы всю мысль высказать, а не по частям. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2012, 00:55:17 |
|
||
|
Метод подставка
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, возвращаемое значение, в целом, не важно в контексте этой темы по-моему тема как раз вокруг типа этого значения ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2012, 00:55:49 |
|
||
|
Метод подставка
|
|||
|---|---|---|---|
|
#18+
redwhite90и какой я должен сделать вывод? Вы спросили, я ответил. redwhite90Не могли бы всю мысль высказать, а не по частям. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2012, 01:03:09 |
|
||
|
Метод подставка
|
|||
|---|---|---|---|
|
#18+
javapeckerredwhite90, выше, ниже, я вообще могу слева направо или наискосок нарисовать. Blazkowicz правильно сказал, очень неудачные слова. Метод не обязан возвращать экземпляр того класса в котором он объявлен. Он просто может вести себя так же как класс, по аналогии. Если у класса появляется наследник, то и метод в наследнике может вернуть наследника того что возвращал в суперклассе. Тогда почему компилится и выполняется следующий пример: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Код: java 1. 2. 3. 4. 5. 6. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2012, 01:04:32 |
|
||
|
Метод подставка
|
|||
|---|---|---|---|
|
#18+
javapeckerпо-моему тема как раз вокруг типа этого значения covariant return type это объявление типа возвращаемого значения для метода. Само же возвращаемое значение может быть любым. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2012, 01:05:35 |
|
||
|
Метод подставка
|
|||
|---|---|---|---|
|
#18+
redwhite90Тогда почему компилится и выполняется следующий пример: А почему не должен? Где вы видете несоответствие примера и указанным объяснениям? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2012, 01:08:51 |
|
||
|
Метод подставка
|
|||
|---|---|---|---|
|
#18+
Всёёёёё понял))) запутался в наследовании, что от чего) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2012, 01:17:20 |
|
||
|
Метод подставка
|
|||
|---|---|---|---|
|
#18+
Спасибо за терпение) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2012, 01:17:53 |
|
||
|
Метод подставка
|
|||
|---|---|---|---|
|
#18+
Но названия конечно талантливо придуманы))) кто придумал назвать наследника BaseИмяПредка ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2012, 01:20:38 |
|
||
|
Метод подставка
|
|||
|---|---|---|---|
|
#18+
redwhite90, тот же кто и подставку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2012, 01:23:56 |
|
||
|
Метод подставка
|
|||
|---|---|---|---|
|
#18+
redwhite90Но названия конечно талантливо придуманы))) кто придумал назвать наследника BaseИмяПредка Ну, а я о чем 13504018 ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2012, 11:32:46 |
|
||
|
|

start [/forum/topic.php?all=1&fid=59&tid=2130516]: |
0ms |
get settings: |
19ms |
get forum list: |
20ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
60ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
103ms |
get tp. blocked users: |
2ms |
| others: | 332ms |
| total: | 563ms |

| 0 / 0 |
