|
|
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) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/44137d7d86e0.html, оценка из 5, голосов 10
|