📜  PHP |访问说明符(1)

📅  最后修改于: 2023-12-03 15:18:27.324000             🧑  作者: Mango

PHP 访问说明符

在面向对象编程中,访问说明符是控制属性和方法对于外部世界可见性的一种方式。PHP 提供了三种访问说明符,它们分别是:

  • public
  • protected
  • private
public

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

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

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 方法
总结

访问说明符是面向对象编程中常用的一种方式,它可以帮助我们限制属性和方法的可访问性,并提高代码的安全性和可维护性。在使用访问说明符时,我们需要根据具体情况来选择不同的访问级别,合理设置访问权限,使代码更加清晰易懂。