Конференция "Прочее" » Филосовский вопрос
 
  • ketmar © (14.05.08 09:52) [80]
    >[79] -koha (2008-05-14 09:43:00)
    >за 30 кб. деньги вообще не нужны это бесплатно раздается, ну а если не
    >хотят брать, всеравно ведь в впарят!

    за примерно 10 лет сидения в винде безо всяких дурацких антивирусов ещё никому не удалось. ЧЯДНТ?

    ---
    Understanding is not required. Only obedience.
  • Anatoly Podgoretsky © (14.05.08 10:03) [81]
    > -koha  (14.05.2008 09:43:19)  [79]

    Ну так и раздавай, а нам кушать хочется и семью кормить.
  • KSergey © (14.05.08 10:12) [82]
    > Anatoly Podgoretsky ©   (14.05.08 10:03) [81]
    > Ну так и раздавай, а нам кушать хочется и семью кормить.

    Все о себе да о себе
    А пионерам-то как быть? Кто о них позаботится??
  • Ega23 © (14.05.08 10:13) [83]

    > А пионерам-то как быть? Кто о них позаботится??


    Пьяная, помятая
    Пионервожатая

    :)))
  • ketmar © (14.05.08 10:15) [84]
    >[82] KSergey © (2008-05-14 10:12:00)
    >А пионерам-то как быть? Кто о них позаботится??
    Вивисекторская Лаборатория имени Морро-Менгеле. вне очереди.

    ---
    Understanding is not required. Only obedience.
  • Ega23 © (14.05.08 10:17) [85]
    Впрочем, скатились к флуду. А по теме я так и не убедился в нужности использования абстрактных методов.
  • pasha_golub © (14.05.08 10:22) [86]

    > Ega23 ©   (14.05.08 10:17) [85]

    Вот странно. Ты ж вроде классов плодил. Неужто не встретилась необходимость?
  • Alkid © (14.05.08 10:22) [87]

    > Впрочем, скатились к флуду. А по теме я так и не убедился
    > в нужности использования абстрактных методов.

    Короче, в ДЕЛЬФИ БОЛЬШОГО смысла использовать abstract нету, ибо реально он программиста на этапе компиляции НИ К ЧЕМУ НЕ ОБЯЗЫВАЕТ.
    Если говорить о других языках, где на понятия абстрактного метода и абстрактного класса накладываются более жёсткие ограничения (в частности, невозможность создать экземпляр абстрактного класса), то там смысл есть.
  • Palladin © (14.05.08 10:23) [88]

    > Ega23 ©   (14.05.08 10:17) [85]

    То есть, все таки склоняешься, к реализации метода, который только и будет заниматься тем, что исключение возбуждать?
  • pasha_golub © (14.05.08 10:27) [89]
    Вот такая еще штука может быть для забывчивых:

    TMyClass = class
    procedure My; virtual;
    end;

    ..

    procedure TMyClass.My;
    begin
    {$MESSAGE WARN 'ДЯДЯ, не забудь меня определить по-людски'}
    end;



    А чтобы было вообще на этапе компиляции, например, при передаче кода сотруднику:

    procedure TMyClass.My;
    begin
    {$MESSAGE FATAL 'ДЯДЯ, пока не определишь не буду работать! Вот!'}
    end;

  • TUser © (14.05.08 10:33) [90]
    Afaik, во времена Borland Pascal такой директивы не было, а вызывали какое-то специальное исключение в методе, который нельзя вызывать, если он не перекрыт. Но написать abstract проще ведь, чем raise AnyException.Create (); да и идеология у паскаля всегда была - все ошибки, которые можно найти на этапе компиляции, надо найти на этапе компиляции. А вызывать этот raise - это в другую сторону, в сторону гибкости языка, совершенно лишней в данном случае.
  • Ega23 © (14.05.08 10:42) [91]

    > Вот странно. Ты ж вроде классов плодил. Неужто не встретилась
    > необходимость?


    Плодил, пложу и буду плодить. Что такое директива abstract и как она работает (и, собственно, зачем нужна в теории) - прекрасно понимаю.
    Но вот заметил интересную вещь - не использую на практике. Делаю в базовом классе виртуальный метод с пустым телом. И тупо не вижу смысла в практическом применении.
  • Ega23 © (14.05.08 10:43) [92]
    Вот если бы Delphi не позволял создать абстрактный класс - вот тогда да, тогда вся мощь абстрактных методов сразу проявляется. А так - не заметил warning, а он тебе бах - и abstract error.
  • Palladin © (14.05.08 10:46) [93]

    > А так - не заметил warning

    а за это больно бьют по нежным местам... ЮЗ, помню, хорошо рассказывал, за, помоему, $10 за warning и 5$ за hint. уважам'с и однозначно одобрям'c.
  • oxffff © (14.05.08 11:05) [94]
    I>
    Ega23 ©   (14.05.08 10:42) [91]
    > Делаю в базовом классе виртуальный метод с пустым телом.


    Когда ты объявляешь абстрактный метод, то тело-заглушка разделяется между всеми абстрактными методами.

    А если ты объявляешь несколько пустых виртуальных, то на каждый фомируется свое тело.

    -> Вывод я надеюсь понятен.
  • Ega23 © (14.05.08 11:22) [95]

    > Когда ты объявляешь абстрактный метод, то тело-заглушка
    > разделяется между всеми абстрактными методами.
    > А если ты объявляешь несколько пустых виртуальных, то на
    > каждый фомируется свое тело.


    Ну вот это вот реальный довод.


    > а за это больно бьют по нежным местам... ЮЗ, помню, хорошо
    > рассказывал, за, помоему, $10 за warning и 5$ за hint. уважам'с
    > и однозначно одобрям'c.


    Был вынужден использовать библиотеку, сделанную не мной, но содержащую действительно хороший набор различных функций. Выдавала 90+ warning-ов и 200+ хинтов. Переписывать было нельзя (точнее было сказано: "Хочешь - переписывай, но это время тебе никто не оплатит").
    Заметить в этом зоопарке конкретный warning - было крайне проблематично. Сейчас стараюсь писать без хинтов и варнингов, но это получается при условии, что всё пишу сам.
  • KSergey © (14.05.08 11:34) [96]
    Эффект от использования ламмерских библиотек может быть сильно отрицательным, не смотря на красивость обертки.
  • Ega23 © (14.05.08 11:36) [97]

    > Эффект от использования ламмерских библиотек может быть
    > сильно отрицательным, не смотря на красивость обертки.


    Юнит писался бывшим шефом со всеми вытекающими.  :)
  • pasha_golub © (14.05.08 11:40) [98]

    > Ega23 ©   (14.05.08 11:36) [97]


    > Юнит писался бывшим шефом со всеми вытекающими.  :)

    Да хоть затекающими. :) Ворнинги - это зло.
  • KSergey © (14.05.08 11:40) [99]
    А абстрактные методы, по-моему, начинаешь осознавать, когда конечным твоим родуктом становятся библиотеки. Когда их вид и интерфейс должны быть коммерческого качества.
    В законченых (в смысле юзер(не_программер)-ориентрованности) проектах (тем более где нет сильно разделенных подразделений) это и не так остро ощущаешь.
 
Конференция "Прочее" » Филосовский вопрос
Есть новые Нет новых   [134435   +13][b:0.001][p:0.001]