PHP笔记之:基于面向对象设计的详解_PHP教程
程序员文章站
2022-05-01 10:14:14
...
public 表示全局,类内部外部子类都可以访问;
class Test{
public $name='Janking',
$sex='male',
$age=23;
function __construct(){
echo $this->age.'
'.$this->name.'
'.$this->sex.'
';
}
function func(){
echo $this->age.'
'.$this->name.'
'.$this->sex.'
';
}
}
$P=new Test();
echo '
';
$P->age=100;
$P->name="Rainy";
$P->sex="female";
$P->func();
?>
Public
private表示私有的,只有本类内部可以使用;
class Test{
private $name='Janking',
$sex='male',
$age=23;
function __construct(){
$this->funcOne();
}
function func(){
echo $this->age.'
'.$this->name.'
'.$this->sex.'
';
}
private function funcOne(){
echo $this->age.'
'.$this->name.'
'.$this->sex.'
';
}
}
$P=new Test();
echo '
';
$P->func();
$P->age=100; // Cannot access private property Test::$age
$P->name="Rainy"; // Cannot access private property Test::$name
$P->sex="female"; // Cannot access private property Test::$female
$P->funcOne(); // Call to private method Test::funcOne() from context ''
?>
Private
protected表示受保护的,只有本类或子类或父类中可以访问; 和封装有关的魔术方法:
复制代码 代码如下:
class Test{
public $name='Janking',
$sex='male',
$age=23;
function __construct(){
echo $this->age.'
'.$this->name.'
'.$this->sex.'
';
}
function func(){
echo $this->age.'
'.$this->name.'
'.$this->sex.'
';
}
}
$P=new Test();
echo '
';
$P->age=100;
$P->name="Rainy";
$P->sex="female";
$P->func();
?>
Public
private表示私有的,只有本类内部可以使用;
复制代码 代码如下:
class Test{
private $name='Janking',
$sex='male',
$age=23;
function __construct(){
$this->funcOne();
}
function func(){
echo $this->age.'
'.$this->name.'
'.$this->sex.'
';
}
private function funcOne(){
echo $this->age.'
'.$this->name.'
'.$this->sex.'
';
}
}
$P=new Test();
echo '
';
$P->func();
$P->age=100; // Cannot access private property Test::$age
$P->name="Rainy"; // Cannot access private property Test::$name
$P->sex="female"; // Cannot access private property Test::$female
$P->funcOne(); // Call to private method Test::funcOne() from context ''
?>
Private
protected表示受保护的,只有本类或子类或父类中可以访问; 和封装有关的魔术方法:
__set():是直接设置私有成员属性值时,自动调用的方法
__get():是直接获取私有成员属性值时,自动调用的方法
__isset(); 是直接isset查看对象中私有属性是否存时自动调用这个方法
__unset(); 是直接unset删除对象中私有属性时,自动调用的方法
上一篇: PHP数组 有关问题
下一篇: java中匿名内部类的构造方法调用