Ruby: Расширяете ли Net :: IMAP дополнительные команды? - PullRequest
1 голос
/ 09 мая 2011

Можно ли расширить базовый класс для включения дополнительных команд? Например, допустим, у меня есть собственный сервер IMAP, который поддерживает команду под названием "WUNTEE" ... Я хотел бы использовать частный метод Net :: IMAP :: send_command для отправки "WUNTEE", но, поскольку он является частным, как что будет возможно? Это вообще возможно? Спасибо.

1 Ответ

0 голосов
/ 10 мая 2011

Вы можете либо разделить его на подклассы по мере необходимости, что вполне приемлемо, либо исправить базовый класс новыми методами, которые вы хотите.С точки зрения дизайна, подкласс является более чистым подходом, но вы можете обнаружить, что некоторые из других связанных классов используют Net :: IMAP напрямую, и заставить их использовать вашу конкретную версию сложно или непрактично.

Это на самом деледовольно просто исправить все методы, которые вам не нравятся, с помощью собственной реализации, просто переопределив их в любой момент выполнения вашей программы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...