|   | Мы — долго запрягаем, быстро ездим, и сильно тормозим. | ||||||||
|    www.lissyara.su—> статьи—> FreeBSD
 | 
|  | 
Class::Accessor автоматически создаёт конструктор, который устанавливает аттрибутам начальные значения.
Использование:
|  | 
Наследование“
С наследованием от одного класса – всё просто: use parent ModuleName”. Именно use parent. От use base хотят избавиться потому что он хреновый.
Но вот с множественным наследованием у perl-а нелады. Если вы всё-таки решили воспользоваться множественным наследованием (и перед этим сто раз подумали. Потому что множественное наследование не рекомендуют использовать), то Perl преподносит вам неожиданный и неприятный сюрприз:
возьмём вот такой код:
|  | 
если его запустить, то он выведет строку “DA”, вместо правильной “DCA”. Это происходит потому что путь наследования определяется по масиву @ISA. В каком порядке модули запушились, в таком и вызываются.
Чтобы множественное наследование работало как следует, в perl5.10 нужно написать
|  | 
В Perl 5.8 для этого необходимо поставить модуль Class::C3 и написать
man Class::C3 #ибо нефиг старьём пользоваться
Исключения
Про них я напишу попозже. Потому что Грабли закроют.
UPD: в грабли не успел :-(
Изначально в perl есть работа с исключениями с помощью eval/die. Исключения эти только строковые и отличить их от системных нельзя. Если нужны нормальные исключения – лезем в CPAN и устанавливаем модуль Exception::Class. До джавовских исключений ему далеко, но базовые функции он выполняет.
|  | 
Private/Protected методы
Perl не умеет создавать совсем приватные методы. Но метод, который начинается c подчеркивания:
|  | 
- является private или protected. Это просто соглашение по использованию. Никто не мешает какому-то кретину вызвать его из другого объекта. Но для адекватных людей – отличная замена приватным методам.
Оффтопик
И ещё то, о чём нельзя забывать:
    * Документирование кода с помощью POD
    * Написание unit-тестов (Test::More)
|  | 
  Этот информационный блок появился по той простой причине,
			что многие считают нормальным, брать чужую информацию не уведомляя автора
			(что не так страшно), и не оставляя линк на оригинал и автора — что более существенно.
			Я не против распространения информации — только за. Только условие простое — извольте
			подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой,
			незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
			
			  Если соизволите поставить автора в известность — то вообще почёт вам и уважение.
© lissyara 2006-10-24 08:47 MSK