[PHP-users 32447] 継承クラス内のstaticメンバについて
Yutaro Mitsui
yutaro @ flight-city.com
2007年 7月 16日 (月) 16:47:56 JST
お世話になっています。三井です。
継承クラス内のstaticメンバについて質問です。
あるクラスを継承したクラスが2つあるとします。
基底クラスで、staticなメンバを定義しています。
片方の継承したクラスで、そのstaticなメンバの値を
変更すると、もう片方の継承したクラスの値も変更されます。
これは、仕様でしょうか?
ソースで表現すると、以下の通りです。
結果は、
222
222
333
444
となります。
継承しているので、
111
222
333
444
となるものと思っていました。
やりたいことは、ロードに時間の掛かる値を
複数のインスタンス間(下の例で言うと、Test1の複数のインスタンス)で
共有したいという事です。
Test1::$value = '111';
Test2::$value = '222';
print 'Test1::$value : ' . Test1::$value . '<br>';
print 'Test2::$value : ' . Test2::$value . '<br>';
Test1::$childValueOfTest1 = '333';
Test2::$childValueOfTest2 = '444';
print 'Test1::$childValueOfTest1 : ' . Test1::$childValueOfTest1 . '<br>';
print 'Test2::$childValueOfTest2 : ' . Test2::$childValueOfTest2 . '<br>';
class Test {
static $value;
}
class Test1 extends Test {
static $childValueOfTest1;
}
class Test2 extends Test {
static $childValueOfTest2;
}
以上、よろしくお願いいたします。
PHP-users メーリングリストの案内