如何做中介网站,企业网站管理制度建设,网站支付可以做二清,wordpress类似于mdx主题面向对象的特点之一就是封装性#xff0c;也就是数据封装#xff0c;也被称为数据隐藏。
php8通过限制访问权限来实现数据的封装性#xff0c;这里用到了public、private、protected、static和final几个关键字。下面来介绍前3个。 1.、public#xff08;公共成员#xf…面向对象的特点之一就是封装性也就是数据封装也被称为数据隐藏。
php8通过限制访问权限来实现数据的封装性这里用到了public、private、protected、static和final几个关键字。下面来介绍前3个。 1.、public公共成员
public 为公有类型在程序的任何位置都可以被调用。常用的调用方法有以下三种。
(1)、在类内通过self::属性名(或方法名)调用自己类的public 方法或属性。
(2)、在子类中通过parent::方法名调用父类方法。
(3)、在实例中通过$obj-属性名(或方法名)调用public类型的方法或属性。
2.、private 私有成员
private 为私有类型表示只能在类的内部进行访问和使用。 定义 private 类型的变量参考代码
?phpclass Fruit {private $name水果; //设置私有变量public function setName($name){ //设置共有变量的方法$this - name $name;}public function getName(){ //读取私有变量return $this - name;}}class MyFruit extends Fruit{} //继承父类Fruit$myfruit new MyFruit ();$myfruit-setName(葡萄); //操作私有变量正确方法echo $myfruit-getName();echo Fruit::$name; //操作私有变量错误方法
?
以上代码在PHP8中的运行结果如下
葡萄
Fatal error: Uncaught Error: Cannot access private property Fruit::$name in D:\phpenv\www\localhost\index.php:15 Stack trace: #0 {main} thrown in D:\phpEnv\www\localhost\index.php on line 153、protected保护成员
protected 为受保护类型常用的调用方法有以下三种。
(1)、在类内通过self::属性名(或方法名)调用自己类的public 方法或属性。
(2)、在子类中通过parent::方法名调用父类方法。
(3)、在实例中通过$obj-属性名(或方法名)调用public类型的方法或属性。
private关键字可以将数据完全隐藏起来除了在本类其他地方都不可以调用子类也不可以调用。对于有些变量希望子类能够调用但对另外的类来说还要做到封装。这时就可以使用protected关键字。
定义protected类型的变量参考代码
?phpclass Fruit {protected $name葡萄;}class MyFruit extends Fruit{public function display(){echo 在子类中直接调用保护变量. $this-name.br /;}}$myfruitnew MyFruit ();$myfruit-display();echo 其他地方调用包含变量就会报错;$myfruit-$name洗衣机;
?以上代码在PHP8的运行结果为
在子类中直接调用保护变量葡萄
其他地方调用包含变量就会报错
Warning: Undefined variable $name in D:\phpEnv\www\localhost\index.php on line 13到此为止PHP8的数据封装数据隐藏的3个知识点public公共成员.、private 私有成员、protected保护成员的相关知识就讲解完毕了。