公共,私有和受保护之间有什么区别?

何时以及为什么应该在类中使用 publicprivateprotected 函数和变量?它们有什么区别?

When and why should I use public, private, and protected functions and variables inside a class? What is the difference between them?

例子:

// Public
public $variable;
public function doSomething() {
  // ...
}

// Private
private $variable;
private function doSomething() {
  // ...
}

// Protected
protected $variable;
protected function doSomething() {
  // ...
}

推荐答案

你用:

  • public 范围以使该属性/方法可在任何地方、对象的其他类和实例中使用.

  • public scope to make that property/method available from anywhere, other classes and instances of the object.

private 范围,当您希望您的属性/方法仅在其自己的类中可见时.

private scope when you want your property/method to be visible in its own class only.

protected 范围,当您想让您的属性/方法在所有扩展当前类(包括父类)的类中可见时.

protected scope when you want to make your property/method visible in all classes that extend current class including the parent class.

如果不使用任何可见性修饰符,则属性/方法将是公共的.

If you don't use any visibility modifier, the property / method will be public.

更多:(获取全面信息)

  • PHP 手册 - 可见性

相关文章