bless
告訴 Perl 將 REF
參照的項目標記為封裝中的物件。除非有特定原因不使用 bless
的兩個引數版本,否則它總是較佳的選擇。
將參照的項目標記為特定封裝(建議形式)
bless $ref, $package;
兩個引數形式將物件新增至指定為第二個引數的封裝。
將參照的項目標記為封裝 main
bless $ref, "";
如果第二個引數為空字串,bless
會將物件新增至封裝 main
。
將參照的項目標記為目前封裝(不可繼承)
bless $ref;
如果 bless
未使用其第二個引數,物件會在目前封裝中建立。如果衍生類別可能會繼承執行 bless
的方法,則應始終提供第二個引數。由於它可能是錯誤的潛在來源,因此不建議使用一個引數的 bless
。
請參閱 perlobj 以進一步瞭解物件的標記(和祝福)。
bless
將其第一個引數(提供的參考)回傳為函式的值;由於 bless
通常是建構函式中執行的最後一個動作,這表示物件的參考會回傳為建構函式的值,並允許呼叫者立即在方法呼叫中使用這個回傳的物件。
CLASSNAME
應始終為混合大小寫的名稱,因為全大寫和小寫的名稱分別僅用於 Perl 內建類型和實用程式。避免建立全大寫或全小寫的套件名稱,以避免混淆。
此外,避免將 <Cbless> 的內容放入類別名稱 0
;這將導致程式碼(錯誤地)檢查 ref
的結果,以查看參考是否為 bless
,因為會回傳「0」,一個假值。
請參閱 perlmod 中的 "Perl 模組" 以取得更多詳細資料。