实例一:
<?php
class A{
var $var='A::Var ';
public $public = 'A::Public ';
protected $protected = 'A::Protected ';
private $private = 'A::Private ';
function test(){
echo $this->var;
echo $this->public;
echo $this->protected;
echo $this->private;
}
}
class B extends A{
var $var='B::Var ';
public $public = 'B::Public ';
protected $protected = 'B::Protected ';
private $private = 'B::Private ';
}
$obj = new B();
$obj->test();
?>
实例二:
<?php
class A{
static $default="A::default ";
public static $public="A::public ";
protected static $protected="A::protected ";
private static $private="A::private ";
function test(){
echo $this::$default;
echo $this::$public;
echo $this::$protected;
//echo $this::$private;//error
}
}
class B extends A{
static $default="B::default ";
public static $public="B::public ";
protected static $protected="B::protected ";
private static $private="B::private ";
}
$obj = new B;
$obj->test();
?>
我问的是注释的那句为什么是错误的。
private
属性只在本类中可以访问。