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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Aleksey Barabanov                    2:5020/400     07 Jun 2000  15:21:32
 To : All
 Subject : Re: динамическое наследование
 -------------------------------------------------------------------------------- 
 
 "Oleg A. Paraschenko" wrote:
 
 > 
 
 [...много чего умного покоцано...]
 
 > 
 > В данном случае неважно - мальчики, девочки или pop3, imap, mbox. Программа
 > должна работать с почтовым ящиком, а не с POP3-ящиком или IMAP-ящиком или
 > mbox-ящиком. Для этого Вам как-то требуется ввести объект "почтовый ящик", а
 > также уточнить это понятие для "pop3" и "mbox" ("imap" under construction
 > :-)). Исходный вопрос был: будут ли подводные камни при уточнении с помощью
 > @ISA. Ответ оказался утвердительным (все плохо). Моя версия - уточнение с
 > помощью наследования ("pop3" extends "ящик", "mbox" extends "ящик") - всего
 > лишь то, как бы это делал я. Как это делать правильно, может сказать только
 > мастер ООП.
 
 Вопрос "как жить" может решен разными путями. Hе буду оспаривать
 правильность какого-то конкретного выбора. Хотелось лишь выяснить
 жизнеспособность собственного.
 
 > > разных класса имеют одинаковый интерфейс для порождения класса
 > > соединяющего их схожие черты.
 > Создатели Java, видимо, тоже с этим сталкивались. Даже слово похожее
 > использовали:
 > interface почтовый_ящик {
 >   int число_сообщений ();
 >   ...
 > }
 > class pop3 implements почтовый_ящик {
 >   int число_сообщений () {
 >     ...
 >   }
 > }
 > Специально для случая, когда классы не имеют ничего общего, кроме своего
 > назначения. В Перле слова 'interface' нет. Hо оно без проблем заменяется еще
 > одной записью в @ISA.
 
 А вот тут по-подробней если можно. С одного раза не словил. Как через
 сымитировать интерфейс.
 
 > > Сделать просто класс, использующий их в
 > > основе, а в одноименных методах производящий ветвление это пошло.
 > Если есть ветвление по типу объекта - это ошибка. Все надо срочно
 > перепроектировать.
 
 В чем же здесь ошибка. Это ошибка подхода, или чисто инструментальная?
 
 -- 
 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/441334406d8c.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional