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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Aleksey Barabanov                    2:5020/400     06 Jun 2000  23:27:55
 To : All
 Subject : Re: динамическое наследование
 -------------------------------------------------------------------------------- 
 
 Artem Chuprina wrote:
 
 > 
 
 [...]
 
 > Вообще говоря, в перле тебе никто не мешает сделать одного наследника Персоны
 > на базе, скажем, hash reference, а другого - на базе scalar reference.
 
 Вот сразу видно человека с "верхним образованием" ;) Может это то, что
 мне надо, в смысле hash и scalar. Только мне надо не наследников
 развести, а саму процедуру наследования. Чтобы в одном случае, при
 создании Персоны с признаками мальчика, получался мальчик, а в другом
 случае, при создании с признаками девочки - девочка. А обращался бы я к
 ним, как просто Персона::Пить, и "пила" бы она, как было указано при
 создании.
 
 [...много чего правильного выкинуто...]
 
 > Сформулируй ещё раз, что ты хотел сказать.
 
 Вот сам себя цитирую:
 
 ab> Да, жаль что абстракция с мальчиками и девочками не покатила. Hе
 ab> хотелось никого впутывать в проблемы предметной области. Объяснюсь по
 ab> другому. Есть почтовый ящик ;))) Расположенный на удаленном
 ab> POP3-сервере. И есть такой-же ящик в директории на локальном диске. И с
 ab> тем и с другим ящиком используются одинаковые команды: Создать, прочесть
 ab> число писем и их размеры, прочесть заголовок письма N, прочесть
 ab> содержимое письма N, пометить письмо на удаление, отключиться. Вы же
 ab> понимаете, что внутри два эти класса реализованы совершенно по-разному.
 ab> Hо для вызывающей программы все выглядит идентично. Все методы имеют
 ab> одинаковые имена и возвращают одинаковые данные.
 
 Вот и вопрос, а нельзя ли их объединить в один класс на основании
 схожести внешнего интерфейса? Т.е. если при создании задаем параметры
 POP3 создается POP3, а если Maildir - Maildir. А клиент, использующий
 класс, этого не видит. И не чувствует, т.к. он использует методы on,
 off, head, body и delete , которые работают и сообщают ему все в одной и
 той же форме, независимо от типа почтового ящика.
 
 ЗЫ:Ко всем, кто это читает: Hе просите, пожалуйста, снова повторить, что
 мне нужно ;) А то я и сам скоро перестану это понимать.
 -- 
 Aleksey Barabanov <alekseybb@mtu-net.ru>
 --- ifmail v.2.15dev5
  * Origin: Small Office (2:5020/400)
 
 

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

 Тема:    Автор:    Дата:  
 Re: динамическое наследование   Aleksey Barabanov   06 Jun 2000 23:27:55 
Архивное /ru.perl/44137d7d86e0.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional