📅  最后修改于: 2023-12-03 15:18:27.324000             🧑  作者: Mango
在面向对象编程中,访问说明符是控制属性和方法对于外部世界可见性的一种方式。PHP 提供了三种访问说明符,它们分别是:
public
是最常见的一种访问说明符,它在类的属性和方法前加上 public
关键字,表示这些属性和方法可以在本类、子类和外部代码中被访问、使用和调用。
class Person
{
public $name;
public function sayHello()
{
echo "Hello, my name is " . $this->name;
}
}
$person = new Person();
$person->name = 'Jack';
$person->sayHello(); // 输出:Hello, my name is Jack
protected
访问说明符只能在类内部或其子类中访问,外部代码无法直接访问。通常用于限制类的属性和方法只能在本类、其子类中访问、或被继承使用。
class Person
{
protected $name;
protected function sayHello()
{
echo "Hello, my name is " . $this->name;
}
}
class Student extends Person
{
public function introduce()
{
$this->name = 'Lucy';
$this->sayHello(); // 可以访问 protected 方法和属性
}
}
$student = new Student();
$student->introduce(); // 输出:Hello, my name is Lucy
$student->name = 'Mike'; // 错误:不能访问 protected 属性
private
访问说明符限制了属性和方法只能在类内部访问,子类和外部代码均无法访问。通常用于限制类的属性和方法只能在本类中使用,避免外部代码非法访问。
class Person
{
private $name;
private function sayHello()
{
echo "Hello, my name is " . $this->name;
}
}
$person = new Person();
$person->name = 'Jack'; // 错误:不能访问 private 属性
$person->sayHello(); // 错误:不能访问 private 方法
访问说明符是面向对象编程中常用的一种方式,它可以帮助我们限制属性和方法的可访问性,并提高代码的安全性和可维护性。在使用访问说明符时,我们需要根据具体情况来选择不同的访问级别,合理设置访问权限,使代码更加清晰易懂。