🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
对属性或方法的访问控制,是通过在前面添加关键字 public、protected 或 private 来实现的。如果未添加,则默认为 public。 * `public`所定义的类成员可以在任何地方被访问 * `protected`所定义的类成员则可以被其所在类的子类和父类访问(当然,该成员所在的类也可以访问) * `private`定义的类成员则只能被其所在类访问 编辑`/home/project/access.php` ~~~php <?php class A { private $hi = 'Hi'.PHP_EOL; protected $hello = 'Hello'.PHP_EOL; public $bye = 'Bye'.PHP_EOL; private function sayHi() { echo $this->hi; } protected function sayHello() { echo $this->hello; } public function sayBye() { echo $this->bye; } } class B extends A { public function talk() { parent::sayHello(); } } $a = new A(); $a->sayHi();//报错,无法调用 $b = new B(); $b->sayHello();//报错,无法调用 $b->talk(); $b->sayBye(); ~~~ 执行 ~~~bash php access.php ~~~ 从结果可知,声明为`private`的方法或属性无法在类外部调用,同时子类也无法调用该方法。 [](javascript:;) 下一步