自分用perl雛形クラス
#------------------------------------------------------------------------------- # ClassHinagata.pm - クラスの雛形 # # 使用例) # # #---------- コンストラクタ # #my $ch = ClassHinagata->new("1st message", "2nd message"); # # #---------- 関数 # $ch->print_msg(); # $ch->print_msg_2(); # # #---------- プロパテイ[get/set] # $ch->msg($ch->msg." + "."メッセージを追加してみた"); # $ch->print_msg(); # #------------------------------------------------------------------------------- package ClassHinagata; #クラス名 #------------------------------------------------------------------------------- # use #------------------------------------------------------------------------------- use strict; use warnings; #------------------------------------------------------------------------------- # コンストラクタ #------------------------------------------------------------------------------- sub new{ my $package = shift; my $this = {}; bless $this, $package; #初期化処理(プライベート変数を設定、コンストラクタ引数を設定、初期化処理) $this->init( @_ ); return $this; } #------------------------------------------------------------------------------- # オブジェクトの初期化 #------------------------------------------------------------------------------- sub init{ my ( $this, @args ) = @_; #変数定義:コンストラクター引数を設定 $this->{ msg } = $args[0]; $this->{ msg_2 } = $args[1]; #変数定義:コンストラクター引数以外の変数を設定 $this->{ main } = "main"; # 初期化処理を記述... } #------------------------------------------------------------------------------- # アクセッサ (get/set) #------------------------------------------------------------------------------- #変数毎に定義 sub msg{ my $this = shift; if( @_ ){ #set my $old = $this->{ msg }; return $this->{ msg } = $_[0]; } else{ #get return $this->{ msg }; } } #------------------------------------------------------------------------------- # 関数 #------------------------------------------------------------------------------- sub print_msg{ my $this = shift; print( $this->{ msg }."\n" ); } #------------------------------------------------------------------------------- # 関数 #------------------------------------------------------------------------------- sub print_msg_2{ my $this = shift; print( $this->{ msg_2 }."\n" ); } 1;