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

php访问权限修饰符有哪几种

php访问权限修饰符有三种:1、public,表示共有的,权限范围最大,在任意位置都可以访问;2、protected,表示受保护的、继承的,只能类本身和类的内部成员可以访问;3、private,表示私有的,只能在类定义的大括号内才可以访问。
本文操作环境:windows10系统、php8.1版、dell g3电脑
php访问权限修饰符有哪几种有三种:
public 共有的
protected 受保护的,继承的
private 私有的
详细介绍:
public:
公有类型,在类的内部、子类中或者类的外部都可以使用,不受限制
特点:外部可调用,内部可调用,子类可调用
在子类中可以通过self::var调用public方法或属性,parent::method调用父类方法
在实例中可以能过$obj->var 来调用 public类型的方法或属性
protected:
受保护类型,在类的内部和子类中可以使用,但不能在类的外部使用
特点:外部不可调用 ,内部可调用 子类可以调用
在子类中可以通过self::var调用protected方法或属性,parent::method调用父类方法
在实例中不能通过$obj->var 来调用 protected类型的方法或属性
private:
私有类型,只能在类的内部使用,在类的外部或子类中都无法使用。
特点:外部不可调用 ,内部可调用,子类不可调用
该类型的属性或方法只能在该类中使用,在该类的实例、子类中、子类的实例中都不能调用私有类型的属性和方法
示例如下:
在创建方法时,如果没有指明,默认均为public
<?php class emba_student // 声明emba学生类 { //用private来定义私有类的属性 private $no; //序号 private $name; // 姓名 private $gender; //性别 private $age; //年龄 //方法 //方法1 ,私有方法,输出年龄 private function show_age() { echo"我的年龄是:$this->age<br />"; }//方法2,公有方法,回答年龄public function ask_age(){ $this->show_age(); }//方法3,设置数据function set_data($arr){ $this->no=$arr["no"]; $this->name=$arr["name"]; $this->gender=$arr["gender"]; $this->age=$arr["age"]; } } //实例化一个对象 $s=new emba_student; $arr=array("no"=>"1","name"=>"qian zhang","gender"=>"female","age"=>"33","department"=>"商业营销"); $s->set_data($arr);//echo $s->age;//fatal error: cannot access private property emba_student::$age in c:\xampp\htdocs\v\v.php on line 47//$s->show_age(); //fatal error: call to private method emba_student::show_age() from context '' in c:\xampp\htdocs\v\v.php on line 48 $s->ask_age(); ?>
推荐学习:《php视频教程》
以上就是php访问权限修饰符有哪几种的详细内容。
其它类似信息

推荐信息