文書更新:2019年06月18日(火) 午後1時20分21秒

Home > 備忘録 > 言語関連 > 言語共通 > class の定義( 48 )

class の定義

  1. ruby 版
  2. class Test		#クラス名はアルファベットの大文字で始まる識別子です
    	@@saitama="埼玉"
    	def initialize(rr)	#オブジェクトの生成時に実行
    		@kanagawa="神奈川"
    	end
    	def test1(aaa,bbb)
    		test3()	#関数 test3 のコール
    	end
    	def self.test2
    	end
    	def test3()
    	end
    end
    ts = Test.new("東京")	#この時点で initialize が実行される
    ts.test1("tokyo","chiba")
    Test.test2
  3. php 版
  4. class Test{
    	private $data1;
    	private $data2;
    	function __construct($rr){	#オブジェクトの生成時に実行
    		$this->data1="宇宙";
    	}
    	function test1($aaa,$bbb){
    		$this->data1=$aaa;
    		$this->data2=$bbb;
    		$this->test2();	#関数 test2 のコール
    	}
    	function test2(){
    	}
    	function __destruct(){	#デストラクタはオブジェクトが消滅するときに実行する
    	}
    }
    $ts = new Test("東京");	#この時点で __construct が実行される
    $ts->test1("tokyo","chiba");
  5. perl 版
  6. Test.pm
    package Test;
    sub new{	#オブジェクトの生成時に実行
    	my($class,$rr)=@_;	# 第1引数はクラス名
    	my $self={
    		DATA1=>undef,
    		DATA2=>$rr,
    		DATA3=>undef
    	};	# 無名参照オブジェクトを生成
    	bless($self, $class);       # オブジェクトとクラス名を関連付け
    }
    sub test1{
    	my $self = shift();
    	print $self->{DATA1};
    }
    sub test2{
    	my($self,$rr) = @_;
    	$self->{DATA3}=$rr;
    	test1()		#関数 test1 のコール
    }
    1;	#この行は必ず必要である
    別ファイルで
    use Test;    # Test.pm 参照
    $obj = Test->new("宇宙");
  7. python 版
  8. test.py
    class Test(object):
    	def __init__(self,rr):	#オブジェクトの生成時に実行
    		self.data1=""
    		self.data2=rr
    	def test1(self):
    		print self.data2
    	def test2(self,bb):
    		self.data1=bb
    		self.test1()		#関数 test1 のコール
    別ファイルで
    import test
    obj=test.Test("宇宙")