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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Aleksey Barabanov                    2:5020/400     06 Jun 2000  13:36:05
 To : All
 Subject : Re: динамическое наследование
 -------------------------------------------------------------------------------- 
 
 Paul Kulchenko wrote:
 
 > 
 > >Так вот, HЕ РАБОТАЕТ. Два экземпляра класса Персона разного наследования
 > А я уже письмо писать начал по поводу того, что не должно работать-то.
 
 Hу я же так торопился поправочку внести ;)
 
 > >не живут одновременно. Или один или другой. Переменная @ISA имеет
 > >слишком глобальный характер. Поэтому добавляется вопрос. А это
 > Переменная @ISA является переменной КЛАССА, а не объекта, со всеми
 > вытекающими проблемами (для тебя в данном случае).
 
 Это я прочувствовал и проверил. Т.е. перл не поддерживает привязанной к
 экземпляру таблицы ссылок. А динамический резолвинг через список @ISA
 зависит от его содержимого. Если я его меняю, то соответственно меняется
 наследование у всех существующих в данный момент экземпляров. Эту фичу
 тоже можно как-нибудь пристегнуть, но не предумал пока зачем.
 
 > >как-нибудь лечится, кроме как методами генной инженерии ?
 > Поскольку для тебя наследование тут совершенно не важно (если ты не
 > собираешься применять методы девочек к мальчикам или преобразовывать один в
 > другой) то забудь про наследование и возвращай из конструктора Персоны
 > ОБЪЕКТ Мальчик или Девочка в зависимости от твоих условий. Проблем с вызовом
 
 Т.е. после анализа параметров просто молча создавать или Мальчика или
 Девочку и возвращать его ссылку. А где будет искаться при очередном
 вызове метод Пить? Мне ведь нужно что-бы он наследовался. 
 
 > правильных методов при этом не будет. Код будет примерно тот же, что и
 > сейчас, удали только все, что касается @ISA. Должно помочь, если только
 
 Спасибо. Hо мне нужна не помощь, а подсказка. У меня собственно все
 работает, разбитое на два класса. Я уже в первом письме оговаривался,
 что работа с двумя классами совершенно идентична, кроме первого вызова
 конструктора.
 
 > потом тебе не понадобится Ребенок, образованный двумя разнополыми Персонами.
 > Что касается других вариантов, я бы сделал Человека, который может Пить,
 > Курить и пр., а от него уже образовал бы Мальчика и Девочку.
 
 Так ведь тут наоборот. Как бы есть много сущностей, но все для меня
 имеют один интерфейс ( не передергивать , имеется ввиду только Пить,
 Курить, Гулять ;). И внешне это должно выглядеть одинаково. С точки
 зрения ООП не вижу проблем. Вопрос в том, а что таки есть предел у Perl
  ?
 
 -- 
 Aleksey Barabanov <alekseybb@mtu-net.ru>
 --- ifmail v.2.15dev5
  * Origin: Small Office (2:5020/400)
 
 

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

 Тема:    Автор:    Дата:  
 динамическое наследование   Aleksey Barabanov   05 Jun 2000 16:43:06 
 Re: динамическое наследование   Aleksey Barabanov   05 Jun 2000 18:27:57 
 Re: динамическое наследование   Paul Kulchenko   05 Jun 2000 23:11:54 
 Re: динамическое наследование   Aleksey Barabanov   06 Jun 2000 13:36:05 
 Re: динамическое наследование   Paul Kulchenko   07 Jun 2000 00:46:13 
 Re: динамическое наследование   Aleksey Barabanov   07 Jun 2000 15:21:29 
 Re: динамическое наследование   Oleg A. Paraschenko   06 Jun 2000 14:10:25 
 Re: динамическое наследование   Aleksey Barabanov   06 Jun 2000 16:28:51 
 Re: динамическое наследование   Oleg A. Paraschenko   06 Jun 2000 21:07:28 
 Re: динамическое наследование   Aleksey Barabanov   07 Jun 2000 15:21:32 
 Re: динамическое наследование   Aleksey Barabanov   12 Jun 2000 02:53:55 
Архивное /ru.perl/441335dbc155.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional