|
|
|
Зачем нужны виртуальные методы?
|
|||
|---|---|---|---|
|
#18+
Зачем нужны виртуальные методы, если при помощи inherited можно обратиться к одноименному методу родительского класса, даже если он не виртуальный? Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2019, 19:08 |
|
||
|
Зачем нужны виртуальные методы?
|
|||
|---|---|---|---|
|
#18+
Only virtual and dynamic methods can be overridden. All methods, however, can be overloaded; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2019, 19:17 |
|
||
|
Зачем нужны виртуальные методы?
|
|||
|---|---|---|---|
|
#18+
rgreat, чем не переопределение, если в дочернем классе я создам одноименный метод и просто не буду вызывать inherited (либо, буду, в зависимости от ситуации). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2019, 19:21 |
|
||
|
Зачем нужны виртуальные методы?
|
|||
|---|---|---|---|
|
#18+
amadeus, почитай основы языка, что ли ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2019, 19:21 |
|
||
|
Зачем нужны виртуальные методы?
|
|||
|---|---|---|---|
|
#18+
asutp2, *#*! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2019, 19:24 |
|
||
|
Зачем нужны виртуальные методы?
|
|||
|---|---|---|---|
|
#18+
amadeus, ну если ты не понимаешь, то вот тебе простой пример: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2019, 19:31 |
|
||
|
Зачем нужны виртуальные методы?
|
|||
|---|---|---|---|
|
#18+
Код: pascal 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2019, 19:40 |
|
||
|
Зачем нужны виртуальные методы?
|
|||
|---|---|---|---|
|
#18+
asutp2, спасибо, теперь понятно. Полиморфизм обеспечивает "двустороннюю связь" между классами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2019, 19:52 |
|
||
|
Зачем нужны виртуальные методы?
|
|||
|---|---|---|---|
|
#18+
Здесь есть смайлик рука-лицо? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2019, 23:02 |
|
||
|
Зачем нужны виртуальные методы?
|
|||
|---|---|---|---|
|
#18+
Дима давал ссылку на еще какую-то прикольную, но тут анимированные гифки не работают, а мне искать лень. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2019, 09:40 |
|
||
|
Зачем нужны виртуальные методы?
|
|||
|---|---|---|---|
|
#18+
ХЗ, я со слов Димы. Видимо, какие-то сайты не "отдают" так гифку (первая отрисовалась, а вторая - нет, например). Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2019, 12:20 |
|
||
|
Зачем нужны виртуальные методы?
|
|||
|---|---|---|---|
|
#18+
раньше не задумывался, ... никого не хочу обидеть, почему нас называют лентяями - дэлфийцев - походу потому, что сама среда отталкивает "удобствами" от ООП. Говорю про себя лично, могу и ошибаться. Другие языки (как только начал отходить от дэлфи) фактически заставляют вникнуть в суть абстракций , ну или хотя бы понимания подходов ООП. Delphi же, наоборот сопротивляется - это мой гнев по поводу поста моего же про удобство реализации интерфейсов ))) Чего греха таить, пока с реальными проектами Java не столкнулся, ходил около и рядом абстракций, не понимая их сущности по факту.... Вопрос несколько о другом принципе ООП, наследовании, но и о нем несколько поменялось представление - мне кажется Вам очень поможет вот эта статья https://habr.com/ru/post/30444/ в будущем. Могу показаться смешным, но я то же долго не мог догнать - нафига интерфейсы в обще нужны ))) Ну а после осознания - все встало на свои места окончательно и по другим вопросам ООП )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2019, 17:32 |
|
||
|
Зачем нужны виртуальные методы?
|
|||
|---|---|---|---|
|
#18+
Всё нормально у дельфи с ООП. Другое дело, что сам подход - моделировать объектами сущности из бизнеса - не единственный вариант применения ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2019, 23:15 |
|
||
|
Зачем нужны виртуальные методы?
|
|||
|---|---|---|---|
|
#18+
kill_zdm, Michael Longneck, Фигня все это, множественного наследования нету! Затрахаешься кнопку описывать. Мне такую и сякую, ромбиком или квадратную (круглую/овальную)/(черно/бело/серо-буро-среневую), плоскую/впуклую, для такой/сякой хренотени... Вот у меня в сиквеле всё описывается - любую хрень можно представить в таблицах. Настолько это технологично. Вот только... Работать (выборки делать) муторно очень. Скрипты надо придумывать. Ну, например.Сход поезда на Транссибе. Всё круто, проезд на красный, 8 локомотивов, до туи тонн... Причина? Санкции? Типа, машинист-наставник устал и всю бригаду "построил". Дочка позвонила - у неё каблук сломался и тра-та-та-та-пулемёт и козёл... и ишак Бухарский. И как тут от "проезда на красный" до обувеой мастерской добраться* ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2019, 01:08 |
|
||
|
Зачем нужны виртуальные методы?
|
|||
|---|---|---|---|
|
#18+
Michael Longneck> не единственный вариант применения Он не только не единственный, но и даже [далеко] не [всегда] самый правильный/быстрый/эффективный. Можно написать хорошо/плохо, как с ООП, так и без. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2019, 08:37 |
|
||
|
Зачем нужны виртуальные методы?
|
|||
|---|---|---|---|
|
#18+
Gator, интерфейсы в помощь. все с ними работают и как-то не особо страдают: TSpTBXPopupMenu = class(TTBPopupMenu, ISpTBXPopupMenu) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2019, 09:20 |
|
||
|
Зачем нужны виртуальные методы?
|
|||
|---|---|---|---|
|
#18+
makhaon> все с ними работают Милостивый государь, Вы совершенно зря так обобщаете и наговариваете. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2019, 09:47 |
|
||
|
Зачем нужны виртуальные методы?
|
|||
|---|---|---|---|
|
#18+
makhaon> интерфейсы в помощь И в результате обломиться на IUnknown? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2019, 11:28 |
|
||
|
Зачем нужны виртуальные методы?
|
|||
|---|---|---|---|
|
#18+
Gatormakhaon> интерфейсы в помощь И в результате обломиться на IUnknown? А что с ним не так с IUnknown? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2019, 15:19 |
|
||
|
Зачем нужны виртуальные методы?
|
|||
|---|---|---|---|
|
#18+
А потому, что это хрень, ии к чему не привязанная (абстракция). С таким же успехом можно от TObject плясать. Всё равно надо каждый чих описывать отдельно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2019, 20:28 |
|
||
|
Зачем нужны виртуальные методы?
|
|||
|---|---|---|---|
|
#18+
Кстати о виртуальных методах http://docwiki.embarcadero.com/RADStudio/Rio/en/Virtual_Methods Virtual Methods Go Up to Dispatching Methods Virtual methods employ a more complicated, and more flexible, dispatch mechanism than static methods. A virtual method can be redefined in descendent classes, but still be called in the ancestor class. The address of a virtual method isn't determined at compile time; instead, the object where the method is defined looks up the address at run time. To make a method virtual, add the directive virtual after the method declaration. The virtual directive creates an entry in the object's virtual method table, or VMT, which holds the addresses of all the virtual methods in an object type. When you derive a new class from an existing one, the new class gets its own VMT, which includes all the entries from the ancestor's VMT plus any additional virtual methods declared in the new class. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2019, 20:53 |
|
||
|
Зачем нужны виртуальные методы?
|
|||
|---|---|---|---|
|
#18+
Gatorkill_zdm, Michael Longneck, Фигня все это, множественного наследования нету! Затрахаешься кнопку описывать. Мне такую и сякую, ромбиком или квадратную (круглую/овальную)/(черно/бело/серо-буро-среневую), плоскую/впуклую, для такой/сякой хренотени...Так а в чём собственно сложность-то? И какое всё это дело имеет отношение к множественному наследованию? Ты если чего обращайся - тебе коллективный разум мигом твои впукло-выпуклые цветные кнопки опишет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2019, 13:38 |
|
||
|
Зачем нужны виртуальные методы?
|
|||
|---|---|---|---|
|
#18+
Dimonka, Это я ТСу спойлер закстатил. Он не в курсе до сих пор и читать ленится... ;) Про Принцип Обслуживания и Хранинения Унифицированной Информации (краткий) отдельная песня. Там больше реляционных баз касается. Но нужно скрипт придумывать, чтобы описывать "связанное неопределённым образом". А Collective Intelligence слишком безумен для реадизации цастно идеи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2019, 14:25 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39834772&tid=2038989]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
52ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
| others: | 246ms |
| total: | 405ms |

| 0 / 0 |
