Perl6 物件導向 (1) 類別、欄位屬性、方法和物件實例

Home » Perl6 » Perl6入門 » Perl6 物件導向 (1) 類別、欄位屬性、方法和物件實例
2015-08-20 Perl6入門 尚無留言

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)

LEAVE A COMMENT

  +  thirty nine  =  forty nine

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料