
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[216.73.216.96] |
![]() |
|
Страницы: (117) « Первая ... 62 63 [64] 65 66 ... 116 117 ( Перейти к последнему сообщению ) |
Сообщ.
#947
,
|
|
|
Цитата Flex Ferrum @ ачем? Если мне нужно унаследовать реализацию - я наследую реализацию. Если мне нужно унаследовать интерфейс - я наследую интерфейс. Всегда ведь хорошо, когда есть выбор, разве нет? Мне почему-то казалось, что я делаю то же самое. Без множественного наследования. Цитата mo3r @ Недостаточно. Множественных интерфейсов хватает только для объединения, простите за тавтологию, множества интерфейсов, а множественное наследование помогает объединить множество реализаций. У меня великолепно получается и то, и другое. Без множественного наследования. |
Сообщ.
#948
,
|
|
|
Цитата archimed7592 @ Для не знающих С++ или не знающих устройство библиотеки Loki уточню задачу: есть куча стратегий(ну пусть это будут интерфейсы), на каждую стратегию есть по десятку реализаций... Нужно когда необходимо комбинаровать необходимые реализации и получать законченный инструмент(пример опять же SmartPtr), более подробно в топике Ориона. Теперь я готов выслушать как реализовать такой удобный и настраиваемый инструмент в Дельфи. Можно, кстати, это на парсере продемонстрировать. Например, наследование стратегий лексического разбора (получение токенов), собственно синтаксического разбора (восходящая/нисходящая/и т. п.) и сематики. Естественно, с минимальным оверхедом... ![]() |
Сообщ.
#949
,
|
|
|
Цитата Romkin @ Мне почему-то казалось, что я делаю то же самое. Без множественного наследования. И что с того? Я могу гвоздь забить при помощи мобилника - но лучше конечно забъю молотком. Я могу наследовать реализации на С - но лучше конечно применю множественное наследование С++. |
![]() |
Сообщ.
#950
,
|
|
Romkin, что идей как реализовать поставленную мною задачу без мн. наследования нет?
![]() Вообще беседа примерно такая получается: - а у нас есть математические операции - нахер вычитание, умножение, деление, сложение и пр. прелести жизни: инкремент - наше фсйо, с его помощью можно сделать что угодно! - ну вот смотри задача: сложная формула - как такую считать - мне почему-то казалось, что я делаю то же самое используя только инкремент ![]() |
Сообщ.
#951
,
|
|
|
Цитата LuckLess @ И что с того? Я могу гвоздь забить при помощи мобилника - но лучше конечно забъю молотком. Я могу наследовать реализации на С - но лучше конечно применю множественное наследование. Угу. А у начинающего сплошные лампасины будут. Недостаток множественного наследования, на мой взгляд - в его свободе. Код меньше инкапсулируется. В этом же и опасность. |
![]() |
Сообщ.
#952
,
|
|
Цитата Romkin @ Код меньше инкапсулируется. В этом же и опасность. ![]() Во-первых, инкапсулируется он точно также. Во-вторых, это говорит человек взывающий пользоваться языком в котором инкапсуляция существует только на уровне модуля. |
Сообщ.
#953
,
|
|
|
Цитата Romkin @ Цитата LuckLess @ И что с того? Я могу гвоздь забить при помощи мобилника - но лучше конечно забъю молотком. Я могу наследовать реализации на С - но лучше конечно применю множественное наследование. Угу. А у начинающего сплошные лампасины будут. Недостаток множественного наследования, на мой взгляд - в его свободе. Код меньше инкапсулируется. В этом же и опасность. Romkin, тебе что-то мешает выпрыгнуть из окна или убицца ап стену? Наверняка мешает, иначе ты тут не писал бы. Так вот по той же самой причине С++ програмеры умеют писать нормальный код, используя множественное наследование. |
![]() |
Сообщ.
#954
,
|
|
Вот, я сейчас занимаюсь задачей автоматизации сертификации аэропортов и там очень много геометрических вычислений. Нарыл я мощную библиотечку CGAL и мне очень сложно представить как можно было бы сделать её более удобной и более быстрой не используя множественное наследование или шаблоны. Для Дельфи есть подобная геометрическая библиотека?
|
Сообщ.
#955
,
|
|
|
О проблемах множественного наследования
Цитирую: Цитата ...концепция множественного наследования таит в себе немало «подводных камней», и ее полноценная реализация далеко не проста. В этой связи весьма показателен тот факт, что создатели языка Java, во многом базирующегося на С++, отказались от множественного наследования, заменив его менее рискованной реализацией абстрактных интерфейсов (implements) и разрешив обычное наследование (extends) только одного класса. Вообще говоря, практический опыт показывает, что задач, которые хорошо «ложатся» на объекты и для которых использование объектно-ориентированного программирования дает ощутимое преимущество, не так уж много. В большинстве приводимых в литературе примерах применение подобной методологии выглядит совершенно искусственным и ни в чем не убеждает. |
Сообщ.
#956
,
|
|
|
Цитата Romkin @ концепция множественного наследования таит в себе немало «подводных камней», и ее полноценная реализация далеко не проста. Поэтому те кто реализовывал делфи и джава компиляторы ее не осилили - и как вариант решили просто ее похаять приводя аргументы типа -не надо -мне не надо -ну в натуре ну не нада! |
Сообщ.
#957
,
|
|
|
Вот почему, например, java может обойтись без множественного наследования, а Delphi в этом праве отказано?
Это всего лишь подтверждает мой тезис об ограниченности мышления сишников, которые просто не способны вообразить себе методики написания программ, отличные от имеющихся в С++. |
Сообщ.
#958
,
|
|
|
Romkin, там просто говорится о том, что создатели жабы не осилили множественное наследование. И все. Статья — сплошная демагогия и реторика.
А вот это вот Цитата http://www.osp.ru/os/2001/02/179920/ Фраза «Ферзь ходит как слон и как ладья» полностью описывает его свойства: она абсолютно информативна. С точки зрения логики, это очень четкий, предельно концентрированный пример множественного наследования. только говорит о недостатках C++ шной реализации множественного наследования (где возможно только замещение функциональности). Например, в CL это описывается абсолютно естественно (используя around-комбинацию методов). Но, тем не менее, даже C++'шная усеченная форма наследования полезна. Наоборот, показательным является тот факт, что существует множество статей, озаглавленных «How to simulate multiple inheritance in Java», «How to simulate multiple inheritance in C#» и т.п. Это означает, что им множественное наследование нужно и полезно. |
Сообщ.
#959
,
|
|
|
Цитата LuckLess @ Поэтому те кто реализовывал делфи и джава компиляторы ее не осилили LuckLess, справедливости ради, а сколько ты написал компилеров, что бы говонрить что создатели явы и дельфи чего-то не осилили, в то время, как все прогрессивное человечество вместе с тобой давно осилило и пользуется? |
![]() |
Сообщ.
#960
,
|
|
Знаешь, как мне пытались "объяснить" множественное наследование?
В общем преп поставил задачу прямо противоречащую ОО принципам: класс точка, наследуешься от нескольких точки и получаешь линию. Наследуешься от точки и линии и получаешь треугольник. Я долго ржал над заданием и, конечно написал то о чём попросили и потом долго объяснял препу насколько неправильный подход преподавания он выбрал... Так вот: если этот писатель с osp.ru такой же спец в С++, как и мой преп(с препа взятки гладки - он Сишник и не обязан знать как применять те или иные конструкции С++), то, неудивительно, что он так отзывается о мн. наследовании. |