可见性:
PHP类里面属性或方法的可见性,控制着对应的属性或方法在哪些地方可以访问、哪些地方不能访问
我们在定义类属性的时候必须在前面加上 public, private, protected 三选一
在定义方法的时候可以省略可见性(默认是 public)
<?php
header('Content-Type:text/html;charset=utf8');
class ClassA{
public $public='我是公共的';
protected $protected="我是受保护的";
private $private="我是私有的";
/* 本类里面可以访问public,protected,private三者可见性的属性 */
public function printVar(){
echo "<p>{$this->public}</p>";
echo "<p>{$this->protected}</p>";
echo "<p>{$this->private}</p>";
}
}
$classA=new ClassA();
$classA->printVar();
/* 本类外面可以访问可见性为public的属性,但不能访问可见性为protected,private的属性 */
echo "<p>{$classA->public}</p>";
//echo "<p>{$classA->protected}</p>";//error
//echo "<p>{$classA->private}</p>" //error
<?php
header('Content-Type:text/html;charset=utf8');
class ClassA{
public $public='我是公共的';
protected $protected="我是受保护的";
private $private="我是私有的";
public function printVar(){
echo "<p>本类:{$this->public}</p>";
echo "<p>本类:{$this->protected}</p>";
echo "<p>本类:{$this->private}</p>";
}
}
/* 子类里面可以访问public,protected的属性,但不能访问private属性 */
class ClassB extends ClassA{
public function printVar(){
echo "<p>子类:{$this->public}</p>";
echo "<p>子类:{$this->protected}</p>";
echo "<p>子类:{$this->private}</p>";
}
}
$classB=new ClassB();
$classB->printVar(); //Execute the function
访问控制是在属性或方法前面添加关键字public, protected, private来实现的
作用:保护数据安全、封装好数据