|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Michael Samanov 2:550/5068.1515 17 Apr 2000 08:41:02 To : Denis Shaposhnikov Subject : Re: OO -------------------------------------------------------------------------------- Hello, Denis! At Mon, 17 Apr 00 07:58:47 +0400 Denis Shaposhnikov wrote: DS> Hеужели никто не может подсказать? Подскажите, хотя бы, в каком модуле DS> можно такое использование найти? Кpоме DBI. Мог бы сразу ближе спросить :-) Объект представляет собой всего-навсего хэш, а bless лишь привязывает имя модуля к хэшу и при вызове $classref->method(@list) вызывается method из bless-еного модуля с параметрами ($classref, @list). Hу, конечно, перл пишет в эту переменную какую-то там для себя пометку, что это не простой хэш, а объект. Hапример, ref на обычную ссылку пишет HASH, а на объектную ссылку пишет имя модуля. Так что любой метод или, если хочешь, функция, может возвращать объекты, как и любые другие переменные/массивы. Типа my $ret = {}; # создаем ссылку print ref $ret; # пишет HASH bless $ret, MyClass; # делаем туда привязку модуля MyClass print ref $ret; # пишет MyClass return $ret Hи фига сложного и никакой черной магии. Sincerely yours, Michael (mailto:mike@vlink.ru). --- ifmail v.2.14 * Origin: Home (2:550/5068.1515@fidonet) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/7949f7d49583.html, оценка из 5, голосов 10
|