文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php教程>php的访问控制符有哪些

php的访问控制符有哪些

时间:2021-07-20  来源:互联网

今天PHP爱好者给大家带来php的访问控制符分享:1、public,将属性或方法设置为可从任何地方访问;2、private,将属性或方法设置为只能由其自己的类或对象访问;3、protected,将属性或方法设置为可由其类或其后代访问。希望对大家有所帮助。

本教程操作环境:windows7系统、PHP7.1版,DELL G3电脑

访问控制修饰符列表

访问修饰符

含义



Public

将属性或方法设置为可从任何地方访问

Private

将属性或方法设置为只能由其自己的类或对象访问

Protected

将属性或方法设置为可由其类或其后代访问

public

公共属性和方法可以从任何地方访问。

<?PHP
class 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的。

上面的代码生成以下结果。

1.png

private

私有属性只能在自己的类中访问。

<?PHP
class Book {
       private $Name;
       private $NameTag;
       public function setName($NewName) {
               // etc
       }
}
?>

子类无法访问私有父方法和属性。如果你想这样做,你需要protected关键字。

Protected

受保护的属性和方法可在其自己的类和子类中访问。考虑下面的代码:

<?PHP
class 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();
?>

上面的代码生成以下结果。

2.png

例子

下面的代码显示了如何使用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");
 }
?>

上面的代码生成以下结果。

3.png

以上就是php的访问控制符有哪些的详细内容,更多请关注php爱好者其它相关文章!

相关阅读更多 +
最近更新
排行榜 更多 +
元梦之星最新版手游

元梦之星最新版手游

棋牌卡牌 下载
我自为道安卓版

我自为道安卓版

角色扮演 下载
一剑斩仙

一剑斩仙

角色扮演 下载