Объектное программирование в Perl
В нынешней версии Perl нет специальных синтаксических конструкций для выражения идей объектно-ориентированной технологии. Поэтому Perl нельзя назвать объектно-ориентированным языком, но он поддерживает объектный подход при разработке программ. Для создания программ с использованием объектов применяются имеющиеся в языке средства, которые сводятся к нескольким простым соглашениям:
- Класс - это пакет, в котором описаны методы, реализующие поведение создаваемых объектов.
- Объект - это переменная (или замыкание), на которую указывает ссылка, связанная с именем пакета.
- Метод - это подпрограмма из пакета, доступ к которой происходит по ссылке на объект, которую он получает в качестве первого аргумента.
- Атрибуты объекта хранятся в динамически создаваемых переменных, чаще всего - в анонимных хэшах.
- Наследование - это поиск методов, не найденных в текущем пакете, в пакетах, перечисленных в специальном массиве @ISA.
Теперь рассмотрим примеры описания классов средствами языка Perl и приемы работы с объектами.