Perl6 有非常豐富完整的物件導向功能,相較於 Perl5,Perl6 物件導向的語法更直覺、更好用,可以說,Perl5 那個奇怪的物件方法,已成過往雲煙。
用例:
# 自訂 MYCLASS 類別 class MYCLASS { has $.num; # 公開的欄位屬性,不可更改 has $.num2 is rw; # 公開的欄位屬性,可更改 has Int $!numpri; # 私有的欄位屬性 # 方法 method get_value { $.num + $.num2 + $!numpri; } # 方法 method set_value($n) { $!numpri = $n; $.num2 = 100; } }; # 建立 MYCLASS 類別的實例 $myobj,用建構子設定公開屬性 $.num 的值為 20 my $myobj = MYCLASS.new(num => 20); # $.num 設為 20 # 執行物件方法 set_value $myobj.set_value(1000); # $!numpri 設為 1000,$.num2 設為 100 # 執行物件方法 get_value say $myobj.get_value(); # => 結果: # 1120 (即 20 + 100 + 1000)