|
ru.website- RU.WEBSITE ------------------------------------------------------------------- From : Vinokurov Andrey 2:5020/400 24 Jan 2002 18:40:32 To : Alex Kharitonov Subject : Re: Perl OOP??? -------------------------------------------------------------------------------- Привет. "Alex Kharitonov" <Alex.Kharitonov@p17.f7.n5038.z2.fidonet.org> wrote in message news:1011816702@p17.f7.n5038.z2.fidonet.ftn... VA> Приведи ссылки на документацию и примеры синтаксиса. Я в описании VA> 5.6.1 такого не нашел. AK> perldoc overload, там в частности есть и примеры. Где именно это лежит вот на этой странице, каковая, как я понимаю, является web-версией официальной перловой документации: http://www.perldoc.com/perl5.6.1/pod/perl.html VA> Я уже писал о том, что "в объектном стиле" можно программировать VA> практически на любом языке. Большинство объектных фич перла я без VA> труда повторю на чистом си. Значит ли это, что перл и чистый си VA> являются объектными языками в одной и той же степени? AK> Hет. Ты же сам сказал "большинство объектных фич перла", большинство - это не AK> все, соответственно они не могут быть объектными языками в равной степени. Я не AK> знаю, насколько будет то, про что ты говоришь, похоже на ООП. ОК. Большинство - это не все. Я смогу эмулировать примерно 2/3. Значит, ты согласен с тем, что перл - в 1.5 раза более объектный язык, чем чистый Си. Меня такая формулировка устроит. VA> Hет, нужно, чтоб они были встроены в язык. AK> Так они и встроены. Иначе, чем в C++, но эти вещи сделаны специально для ООП. Еще раз. "Специально для ООП" я тебе и в чистом си сделаю пару конструктов средствами языка. > Hапример служебный массив @ISA содержит список классов-предков, он предназначен > только для этого, программист не должен использовать этот массив для чего-то > еще. Hе должен или не может? В подлинно ООЯП - "не должен мочь". > Или функция bless - для чего еще она нужна, кроме как для ООП? Я видел пару библиотек "объектизации" си. И даже - в порядке извращения - прикинул свою. И при этом мне пришлось использовать вещи, аналогичные @ISA и bless. Из чего я сделал вывод, что это - "путь наименьшего сопротивления" для прикручивания объектных фич к необъектным языкам. Т.е., попросту говоря, "объектная примочка". VA>> Итак, сделайте ка мне на перле "ромбовидное невиртуальное VA>> наследование". Это когда VA>> class L { /*...*/ }; VA>> class A: public L { /*...*/ }; VA>> class B: public L { /*...*/ }; VA>> class AB: public A, public B { /*...*/}; AK>> См. http://askh.karelia.ru/perl/labab.pl Устраивает? VA> Hет. Будет устраивать, если ты в базовый класс L внесешь пару-тройку VA> полей данных, и чтоб в каждом подобъекте (типа А и B соотв.) объекта VA> типа AB была _своя_ копия подобъекта типа L. AK> Вопрос на засыпку: как такое сделать в Java? Или Java - это тоже не объектный AK> язык, потому что не повторяет C++? Речь в данном случае не об этом. Это не более чем ответ на хвастливое заявление одного перлового адепта: "Что ты можешь сделать такого объектного в плюсах, чего я не смогу повторить на перле?". Я лишь показал, что именно оный хвастливый адепт не сможет повторить. И не более того. :) Пока. Андрей. --- ifmail v.2.15dev5 * Origin: Demos online service (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.website/65773b982e34.html, оценка из 5, голосов 10
|