php5 oop のクラスの変数定義はアクセス制御に従います。public
はグローバルを意味し、クラス内外のサブクラスからアクセスできます。private
はプライベートを意味し、このクラス内でのみ使用できます
。このクラスのみ、またはサブクラスまたは親クラスでアクセスできます
。
クラスBaseClass {
パブリック $public = 'パブリック';
プライベート $プライベート = 'プライベート';
保護された $protected = '保護された'
関数 __construct(){
関数 print_var()
{
print $this->public;echo '<br />';
print $this->private; エコー '<br />';
print $this->protected; エコー '<br />';
}
}
class サブクラス extends BaseClass {
// public $public = 'public2';
protected $protected ='protected2';
関数 __construct(){
echo $this->protected;// クラスは protected として定義されているため、アクセスできます。そのため、このクラスまたはサブクラスに含めることができ、値はサブクラスで繰り返すことができます。
エコー「<br />」;
echo $this->private;//これはプライベートであり、それが定義されているクラスの基本クラスでのみ使用できるため、エラーになります。
}
$
obj1 = 新しいBaseClass();
$obj1->print_var();
//echo $obj1->protected;//error protected であるため、このクラス内、またはサブクラスと親クラス内でのみ呼び出すことができます。
//echo $obj1->private;//error private は上記と同様、このクラス内でのみ呼び出すことができます
echo $obj1->public;
エコー「<hr />」;
$obj2 = 新しいサブクラス();
エコー「<br />」;
echo $obj2->public;echo '<br />';
echo $obj2->protected;
//echo $obj2->private;//エラー
//エコー $obj2->protected;
?>