首页 » 网站推广 » php类的封装性权限技巧_PHP8的数据封装数据隐藏PHP8常识详解

php类的封装性权限技巧_PHP8的数据封装数据隐藏PHP8常识详解

访客 2024-11-16 0

扫一扫用手机浏览

文章目录 [+]

php8通过限定访问权限来实现数据的封装性,这里用到了public、private、protected、static和final几个关键字。
下面来先容前3个。

1.、public(公共成员)

php类的封装性权限技巧_PHP8的数据封装数据隐藏PHP8常识详解

public 为公有类型,在程序的任何位置都可以被调用。
常用的调用方法有以下三种。

php类的封装性权限技巧_PHP8的数据封装数据隐藏PHP8常识详解
(图片来自网络侵删)

(1)、在类内通过self::属性名(或方法名)调用自己类的public 方法或属性。

(2)、在子类中通过parent::方法名调用父类方法。

(3)、在实例中通过$obj->属性名(或方法名)调用public类型的方法或属性。

2.、private (私有成员)

private 为私有类型,表示只能在类的内部进行访问和利用。

定义 private 类型的变量,参考代码:

<?php class 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 15

3、protected(保护成员)

protected 为受保护类型,常用的调用方法有以下三种。

(1)、在类内通过self::属性名(或方法名)调用自己类的public 方法或属性。

(2)、在子类中通过parent::方法名调用父类方法。

(3)、在实例中通过$obj->属性名(或方法名)调用public类型的方法或属性。

private关键字可以将数据完备隐蔽起来,除了在本类,其他地方都不可以调用,子类也不可以调用。
对付有些变量希望子类能够调用,但对其余的类来说,还要做到封装。
这时,就可以利用protected关键字。

定义protected类型的变量,参考代码:

<?php class Fruit { protected $name="葡萄"; } class MyFruit extends Fruit{ public function display(){ echo "在子类中直接调用保护变量:". $this->name."<br />"; } } $myfruit=new 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(保护成员)的干系知识就讲解完毕了。

标签:

相关文章

今日头条算法引领个化信息时代的变革

信息爆炸时代已经到来。每个人都是信息的接收者和传播者。面对海量的信息,人们往往感到无所适从。为了解决这一问题,各大互联网公司纷纷推...

网站推广 2025-01-31 阅读1 评论0

今日头条算法信息推荐的秘密武器

信息爆炸的时代已经来临。人们每天都会接触到大量的信息,而如何从这些信息中筛选出有价值的内容,成为了亟待解决的问题。今日头条算法作为...

网站推广 2025-01-31 阅读1 评论0

今日头条算法精准推荐背后的技术奥秘

信息爆炸的时代已经来临。我们每天都要面对海量的信息,如何从这些信息中筛选出自己感兴趣的内容,成为了每个人都关心的问题。今日头条作为...

网站推广 2025-01-31 阅读1 评论0