php中类的方法的访问权限有哪些

PHP中类的方法访问权限有哪些

1. 访问权限简介

在PHP中,类方法有四种不同的访问权限,分别是:

public

protected

private

final

1.1 public访问权限

public是最基本的访问权限,一个方法被public修饰后,任何地方都可以直接访问该方法。

class MyClass {

public function publicFunction() {

echo "This is a public function.";

}

}

$obj = new MyClass();

$obj->publicFunction(); //输出:This is a public function.

1.2 protected访问权限

如果一个方法被protected修饰,那么该方法只能在当前类及其子类中直接访问。

class MyBaseClass {

protected function protectedFunction() {

echo "This is a protected function.";

}

}

class MyClass extends MyBaseClass {

public function run() {

$this->protectedFunction(); //子类中可以直接调用父类中的protected方法

}

}

$obj = new MyClass();

$obj->run(); //输出:This is a protected function.

1.3 private访问权限

如果一个方法被private修饰,那么该方法只能在当前类中直接访问。即使该类的子类也无法访问该方法。

class MyPrivateClass {

private function privateFunction() {

echo "This is a private function.";

}

}

class MyClass extends MyPrivateClass {

public function run() {

$obj = new MyPrivateClass();

$obj->privateFunction(); //会提示:Call to private method MyPrivateClass::privateFunction()

}

}

$obj = new MyClass();

$obj->run(); //会提示:Call to private method MyPrivateClass::privateFunction()

1.4 final访问权限

如果一个方法被final修饰,那么该方法不能被其子类覆盖。

class MyBaseClass {

final protected function finalFunction() {

echo "This is a final function.";

}

}

class MyClass extends MyBaseClass {

//会提示:Cannot override final method MyBaseClass::finalFunction()

protected function finalFunction() {

echo "This is a final function in my subclass.";

}

}

2. 访问权限总结

访问权限是PHP类中一个非常重要的特性,它可以控制类方法被访问的范围和级别。在设计类的时候,需要考虑到方法的访问权限,以确保类的安全运行和封装性的实现。

后端开发标签