您好,欢迎访问一九零五行业门户网

php的访问控制符有哪些

php的访问控制符有:1、public,将属性或方法设置为可从任何地方访问;2、private,将属性或方法设置为只能由其自己的类或对象访问;3、protected,将属性或方法设置为可由其类或其后代访问。
本教程操作环境:windows7系统、php7.1版,dell g3电脑
访问控制修饰符列表
访问修饰符含义
public 将属性或方法设置为可从任何地方访问
private 将属性或方法设置为只能由其自己的类或对象访问
protected 将属性或方法设置为可由其类或其后代访问
public
公共属性和方法可以从任何地方访问。
<?phpclass book { public $name; public function say() { print "php!\n"; }}class pythonbook extends book { public function say() { print "python!\n"; }}$abook = new pythonbook;$abook->name = "python";print $abook->name;?>
默认情况下,所有类方法都是public的。
上面的代码生成以下结果。
private
私有属性只能在自己的类中访问。
<?phpclass book { private $name; private $nametag; public function setname($newname) { // etc }}?>
子类无法访问私有父方法和属性。如果你想这样做,你需要protected关键字。
protected
受保护的属性和方法可在其自己的类和子类中访问。考虑下面的代码:
<?phpclass book { public $name; protected function getname() { return $this->name; }}class poodle extends book { public function say() { print ""book", says " . $this->getname(); }}$abook = new poodle;$abook->name = "php";$abook->say();?>
上面的代码生成以下结果。
例子
下面的代码显示了如何使用private成员隐藏信息。
<?php class widget { private $name; private $price; private $id; public function __construct($name, $price) { $this->name = $name; $this->price = floatval($price); $this->id = uniqid(); } //checks if two widgets are the same public function equals($widget) { return(($this->name == $widget->name) and ($this->price == $widget->price)); } } $w1 = new widget("cog", 5.00); $w2 = new widget("cog", 5.00); $w3 = new widget("gear", 7.00); //true if($w1->equals($w2)) { print("w1 and w2 are the same<br>\n"); } //false if($w1->equals($w3)) { print("w1 and w3 are the same<br>\n"); } //false, == includes id in comparison if($w1 == $w2) { print("w1 and w2 are the same<br>\n"); }?>
上面的代码生成以下结果。
推荐学习:《php视频教程》
以上就是php的访问控制符有哪些的详细内容。
其它类似信息

推荐信息