-
>[79] -koha (2008-05-14 09:43:00)
>за 30 кб. деньги вообще не нужны это бесплатно раздается, ну а если не
>хотят брать, всеравно ведь в впарят!
за примерно 10 лет сидения в винде безо всяких дурацких антивирусов ещё никому не удалось. ЧЯДНТ?
---
Understanding is not required. Only obedience.
-
> -koha (14.05.2008 09:43:19) [79]
Ну так и раздавай, а нам кушать хочется и семью кормить.
-
> Anatoly Podgoretsky © (14.05.08 10:03) [81]
> Ну так и раздавай, а нам кушать хочется и семью кормить.
Все о себе да о себе
А пионерам-то как быть? Кто о них позаботится??
-
> А пионерам-то как быть? Кто о них позаботится??
Пьяная, помятая
Пионервожатая
:)))
-
>[82] KSergey © (2008-05-14 10:12:00)
>А пионерам-то как быть? Кто о них позаботится??
Вивисекторская Лаборатория имени Морро-Менгеле. вне очереди.
---
Understanding is not required. Only obedience.
-
Впрочем, скатились к флуду. А по теме я так и не убедился в нужности использования абстрактных методов.
-
> Ega23 © (14.05.08 10:17) [85]
Вот странно. Ты ж вроде классов плодил. Неужто не встретилась необходимость?
-
> Впрочем, скатились к флуду. А по теме я так и не убедился
> в нужности использования абстрактных методов.
Короче, в ДЕЛЬФИ БОЛЬШОГО смысла использовать abstract нету, ибо реально он программиста на этапе компиляции НИ К ЧЕМУ НЕ ОБЯЗЫВАЕТ.
Если говорить о других языках, где на понятия абстрактного метода и абстрактного класса накладываются более жёсткие ограничения (в частности, невозможность создать экземпляр абстрактного класса), то там смысл есть.
-
> Ega23 © (14.05.08 10:17) [85]
То есть, все таки склоняешься, к реализации метода, который только и будет заниматься тем, что исключение возбуждать?
-
Вот такая еще штука может быть для забывчивых:
TMyClass = class
procedure My; virtual;
end;
..
procedure TMyClass.My;
begin
end;
А чтобы было вообще на этапе компиляции, например, при передаче кода сотруднику:
procedure TMyClass.My;
begin
end;
-
Afaik, во времена Borland Pascal такой директивы не было, а вызывали какое-то специальное исключение в методе, который нельзя вызывать, если он не перекрыт. Но написать abstract проще ведь, чем raise AnyException.Create (); да и идеология у паскаля всегда была - все ошибки, которые можно найти на этапе компиляции, надо найти на этапе компиляции. А вызывать этот raise - это в другую сторону, в сторону гибкости языка, совершенно лишней в данном случае.
-
> Вот странно. Ты ж вроде классов плодил. Неужто не встретилась
> необходимость?
Плодил, пложу и буду плодить. Что такое директива abstract и как она работает (и, собственно, зачем нужна в теории) - прекрасно понимаю.
Но вот заметил интересную вещь - не использую на практике. Делаю в базовом классе виртуальный метод с пустым телом. И тупо не вижу смысла в практическом применении.
-
Вот если бы Delphi не позволял создать абстрактный класс - вот тогда да, тогда вся мощь абстрактных методов сразу проявляется. А так - не заметил warning, а он тебе бах - и abstract error.
-
> А так - не заметил warning
а за это больно бьют по нежным местам... ЮЗ, помню, хорошо рассказывал, за, помоему, $10 за warning и 5$ за hint. уважам'с и однозначно одобрям'c.
-
I>
Ega23 © (14.05.08 10:42) [91]
> Делаю в базовом классе виртуальный метод с пустым телом.
Когда ты объявляешь абстрактный метод, то тело-заглушка разделяется между всеми абстрактными методами.
А если ты объявляешь несколько пустых виртуальных, то на каждый фомируется свое тело.
-> Вывод я надеюсь понятен.
-
> Когда ты объявляешь абстрактный метод, то тело-заглушка
> разделяется между всеми абстрактными методами.
> А если ты объявляешь несколько пустых виртуальных, то на
> каждый фомируется свое тело.
Ну вот это вот реальный довод.
> а за это больно бьют по нежным местам... ЮЗ, помню, хорошо
> рассказывал, за, помоему, $10 за warning и 5$ за hint. уважам'с
> и однозначно одобрям'c.
Был вынужден использовать библиотеку, сделанную не мной, но содержащую действительно хороший набор различных функций. Выдавала 90+ warning-ов и 200+ хинтов. Переписывать было нельзя (точнее было сказано: "Хочешь - переписывай, но это время тебе никто не оплатит").
Заметить в этом зоопарке конкретный warning - было крайне проблематично. Сейчас стараюсь писать без хинтов и варнингов, но это получается при условии, что всё пишу сам.
-
Эффект от использования ламмерских библиотек может быть сильно отрицательным, не смотря на красивость обертки.
-
> Эффект от использования ламмерских библиотек может быть
> сильно отрицательным, не смотря на красивость обертки.
Юнит писался бывшим шефом со всеми вытекающими. :)
-
> Ega23 © (14.05.08 11:36) [97]
> Юнит писался бывшим шефом со всеми вытекающими. :)
Да хоть затекающими. :) Ворнинги - это зло.
-
А абстрактные методы, по-моему, начинаешь осознавать, когда конечным твоим родуктом становятся библиотеки. Когда их вид и интерфейс должны быть коммерческого качества.
В законченых (в смысле юзер(не_программер)-ориентрованности) проектах (тем более где нет сильно разделенных подразделений) это и не так остро ощущаешь.