Home > 備忘録 > 言語関連 > 言語共通 > class の定義( 48 )
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.test2class 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");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("宇宙");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("宇宙")