Главная страница


ru.website

 
 - RU.WEBSITE -------------------------------------------------------------------
 From : Vinokurov Andrey                     2:5020/400     24 Jan 2002  19:03:09
 To : Alexander Kostiuchenko
 Subject : Re: Perl OOP???
 -------------------------------------------------------------------------------- 
 
 Привет.
 
 "Alexander Kostiuchenko"
 <Alexander.Kostiuchenko@p419.f672.n463.z2.fidonet.org> wrote in message
 news:1011496145@p419.f672.n463.z2.ftn...
 
 AK> сразу отмечу- Перл на звание "чиста обьектного" языка не претендует.
 
 Честь и
 
 AK> хвала Ларри за это. Потому как эти самые чиста ООЯП полны ограничений
 
 (прежде
 
 AK> всего - поддержка только одной парадигмы - и все, что из этого
 
 вытекает).
 Я с тобой полностью согласен! Сам тоже недолюбливаю "чиста объектные
 языки" - по эффективности генерируемого кода они сильно уступают плюсам. К
 счастью, плюсы не таковы. Это объектно-процедурный язык.
 
 VA> Еще один важный момент - _подлинная_ инкапсуляция предполагает
 VA> сокрытие данных. Этого перл, естественно, тоже  не умеет - данные
 VA> объекта доступны всегда:
 AK> посмотри protected из Class::Fields, Attribute::Protected и
 
 Tie::SecureHash.
 
 AK> Вполне себе реализуют private/protected. Запрещать и ограничивать -
 
 просто...
 
 AK> Только зачем?
 
 Для безопасности. :) Про необходимость "сокрытия" читай классиков ООП.
 
 VA> Еще одна характерная деталь, свидетельствующая об искусственности
 VA> объектности в перле - необходимость явного "благословления" объекта,
 VA> т.е. приписывания его к определенному типу. И т.д. и т.п.. Я уж не
 VA> говорю о об отсутсвии таких "вкусностей", как перегрузка операторов.
 AK> Сколько можно повторять - есть в Перле перегрузка, есть. perldoc
 
 overload
 В каком разделе (модуле) стандартной документации она описана? Я читаю
 перловую доку на
 http://www.perldoc.com/perl5.6.1/pod/perl.html
 
 VA> Hапример - явное "благословление", т.е. явное приписывание "объекта" к
 VA> классу.
 VA> Или размещение данных объекта в некотором аналоге
 VA> ассоциативного массива. А для разрешения наследования придется
 AK> а чем это плохо ? какая вообще разница, как хранятся данные ? при
 
 использовании
 
 AK> обьектного подхода ты к ним обращаешся только через соотв. методы
 
 getter/setter
 
 AK> (для этого например можно PlusPlus.pm использовать - с ним эти методы
 
 можно так
 
 AK> и описывать: getter FIELD {}, setter FIELD {}).
 
 Чем такая "объектность" отличается от эмулированной в чистом си? Делаешь
 себе
 #include <plusplus.h>
 и наслаждаешься "объектностью".
 
 А плохо это тем, что снижается надежность, возрастает вероятность сделать
 ошибку. Hеобходимость делать какие-то лишние шаги (типа "благословления") -
 _потенциальный_ источник сложностей.
 
 VA> Итак, сделайте ка мне на перле "ромбовидное невиртуальное
 VA> наследование". Это когда
 VA> class L { /*...*/ };
 VA> class A: public L { /*...*/ };
 VA> class B: public L { /*...*/ };
 VA> class AB: public A, public B { /*...*/};
 VA> И чтоб все производные классы унаследовали методы своих базовых
 VA> классов.
 AK> package L;
 AK> package A;
 AK> @ISA = qw(L);
 AK> package B;
 AK> @ISA = qw(L);
 AK> package AB;
 AK> @ISA = qw(A B);
 AK> Оно ?
 
 Hет - см. мой ответ Алексу Харитонову.
 
 Пока.
 Андрей.
 --- ifmail v.2.15dev5
  * Origin: Demos online service (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Perl OOP???   Vinokurov Andrey   17 Jan 2002 19:28:36 
 Re: Perl OOP???   Serge Shikov   17 Jan 2002 21:03:08 
 Perl OOP???   Alex Kharitonov   20 Jan 2002 00:18:06 
 Re: Perl OOP???   Serge Shikov   20 Jan 2002 15:38:58 
 Re: Perl OOP???   Vinokurov Andrey   23 Jan 2002 16:58:18 
 Perl OOP???   Moderator   25 Jan 2002 01:35:06 
 Re: Perl OOP???   Vinokurov Andrey   23 Jan 2002 17:53:48 
 Re: Perl OOP???   Serge Shikov   25 Jan 2002 12:10:07 
 Re: Perl OOP???   Vinokurov Andrey   01 Feb 2002 19:07:25 
 Re: Perl OOP???   Serge Shikov   01 Feb 2002 22:18:32 
 Perl OOP???   Alexander Kostiuchenko   05 Feb 2002 08:54:10 
 Re: Perl OOP???   Vinokurov Andrey   23 Jan 2002 16:58:18 
 Perl OOP???   Alex Kharitonov   23 Jan 2002 20:29:59 
 Re: Perl OOP???   Vinokurov Andrey   24 Jan 2002 18:40:32 
 Perl OOP???   Alex Kharitonov   26 Jan 2002 00:41:19 
 Perl OOP???   Alexander Kostiuchenko   20 Jan 2002 04:08:56 
 Re: Perl OOP???   Vinokurov Andrey   24 Jan 2002 19:03:09 
Архивное /ru.website/65771a92362a.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional