我有一个这样的类结构:
class general {
private $var;
function set_val( $val ) {
$this->var = $val;
}
function get_val() {
return $this->var;
}
}
class A extends general {
function __construct( $val ) {
parent::set_val( $val );
}
....
}
class B extends general {
....
}
对应的主脚本是这样的:
<?php
$a = new A( "Apple" );
$b = new B();
echo "A: " . $a->get_val();
echo "B: " . $b->get_val();
输出:
A: Apple
B:
现在的问题是 A 和 B 的所有实例都访问它们自己的父类 general 的变量 $var ,因此所有 $var 都是相互独立的。
有没有一种方法可以在父类 general 中设置变量 $var一次,然后它可以自动提供给所有作为其子类/扩展 general 的类?(因此 $b->get_val() 也输出“Apple”?!)
背景:我想在通用类中加载具有语言相关值的变量。然后这些变量应该可用于所有子类。