Сегодня перевел очередной кусочек спецификации Perl6::Perl5::Differences, а именно ту часть, в которой описывается объектно-ориентированное программирование на perl 6.
Perl6::Perl5::Differences - Отличия между Perl 5 и Perl 6
Объекты
В Perl 6 реализована полноценная объектная модель, с ключевыми словами для классов,
объектов и атрибутов. Имена публичных атрибутов предваряются символом .
, а имена
приватных атрибутов - символом !
. (В дальнейшем будем их называть твигилы (анг. twigil) (Прим. перев.) )
class YourClass { has $!private; has @.public; # с указанием права доступа "чтение-запись" has $.stuff is rw; method do_something { if self.can('bark') { say "Something doggy"; } } }
Вызовы метода обозначаются символом . вместо ->
Было: $object->method Стало: $object.method
Отличие символических ссылок от жестких при вызове динамического метода
Было: $self->$method() Стало: $self.$method() # жесткая ссылка Стало: $self."$method"() # символическая ссылка
Leave a comment