Перевод официальной документации Perl 6.

September 2010 Archives

Сегодня перевел очередной кусочек спецификации 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"() # символическая ссылка
Продолжение следует ...

About this Archive

This page is an archive of entries from September 2010 listed from newest to oldest.

August 2010 is the previous archive.

October 2010 is the next archive.

Find recent content on the main index or look in the archives to find all content.